perl中的引用相当于指针,其中闭包closure实现迭代,类似数据库游标取出一行行记录。 #!/usr/bin/perl
sub number_printer {
my ($input) = @_;
if($input % 2){$input++};
$rs=sub {
print "$input";
$input += 2;
};
return $rs;
}
$iterator = number_printer(30);
for ($i=0;$i<10;$i++) {
&$iterator();
}
print "\n";
打印的结果为
其中my ($input) = @_可以替换为my $input = shift;
本文转自 mcshell 51CTO博客,原文链接:http://blog.51cto.com/mcshell/477565,如需转载请自行联系原作者