【发布时间】:2014-07-02 19:12:54
【问题描述】:
我对 Perl 命名块感到困惑(我以为它们是......)。下面是一个例子:
#!/usr/bin/perl
sub Run(&){
my ($decl) = @_;
$decl->();
}
sub cmd(&){
my($decl) = @_;
my(@params) = $decl->();
print "@params\n";
}
sub expect(&){
my ($decl) = @_;
my(@params) = $decl->();
print "@params\n";
}
Run {
cmd { "echo hello world " };
expect { exit_code => 0, capture => 2};
};
注意最后几行。看起来“Run”、“cmd”、“expect”是命名块,而不是函数。有谁知道它们是什么?任何可用的链接介绍它们? 我找不到这种语法的任何参考。
【问题讨论】:
标签: perl