在计算机程序设计中,回调函数,或简称回调(Callback),是指通过函数参数传递到其它代码的,某一块可执行代码的引用。这一设计允许了底层代码调用在高层定义的子程序。
就是向函数的参数为 一个函数的引用
[oracle@jhoa 3]$ cat a1.pl
$cd = sub {print "hello world"};
print "$cd id $cd
";
sub test {
print &$cd."
";
}
test;
[oracle@jhoa 3]$ perl a1.pl
$cd id CODE(0xf167d90)
hello world1
闭包:
闭包 (closure):具有持续参照位于该函数范围之外的文字式变数值的能力。这些外部的文字变数会神奇地保留它们在闭包函数最初定义时的值.
sub test{
my $a="xxx";
$b=$a;
print "1---$a
";
}
test;
print "2----$a
";
print "3----$b
";
print "4----$$b
";
D:探索perl的世界讲义及示例11-18ch16>perl 1.pl
1---xxx
2----
3----SCALAR(0x1e7074)
4----xxx