Perl 回调函数和闭包

在计算机程序设计中,回调函数,或简称回调(Callback),是指通过函数参数传递到其它代码的,某一块可执行代码的引用。这一设计允许了底层代码调用在高层定义的子程序。

就是向函数的参数为   一个函数的引用

[oracle@jhoa 3]$ cat a1.pl 
$cd = sub {print "hello world"};
print "\$cd id $cd\n";
sub test {
print &$cd."\n";
}
test;


[oracle@jhoa 3]$ perl a1.pl 
$cd id CODE(0xf167d90)
hello world1


闭包:

闭包 (closure):具有持续参照位于该函数范围之外的文字式变数值的能力。这些外部的文字变数会神奇地保留它们在闭包函数最初定义时的值.


sub test{
my $a="xxx";
 $b=\$a;
print "1---$a\n";
}
test;
print "2----$a\n";
print "3----$b\n";
print "4----$$b\n";


D:\探索perl的世界讲义及示例11-18\ch16>perl 1.pl
1---xxx
2----
3----SCALAR(0x1e7074)
4----xxx

你可能感兴趣的:(Perl高级编程)