use File::Find;
sub print_bigger_than {
my $minmum_size = shift;
return sub { print "$File::Find::name\n" if -f and -s >= $minimun_size};
}
my $bigger_than_1024 = print_bigger_than(1024);
find ($bigger_than_1024, 'bin');
给print_bigger_than传递1024参数,因为access $minmum_size是通过print_bigger_than返回值的引用方式,所以它是一个closure 变量,并且在整个子程序引用的生命周期中都不会消失。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24104518/viewspace-722587/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24104518/viewspace-722587/