Ich bin verwirrt von Perl Named Blocks (ich dachte, sie sind ...). Unten ist ein Beispiel:Kann jemand solche Art von Perl Code Blocks verstehen?
#!/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};
};
Beachten Sie die letzten Zeilen. Es sieht aus wie "Run", "cmd", "expect" sind benannte Blöcke, aber keine Funktionen. Weiß jemand was sie sind? Jeder verfügbare Link führt sie ein? Ich kann keine Referenz für eine solche Grammatik finden.
Vielen Dank für Ihre Antwort. Das wollte ich. – Hao