という引数を持つサブルーチンをスタックにプッシュしたいが、構文を理解できない。引数なしで作業例を考えてみましょう:引数を持つサブルーチンをPerlのスタックにプッシュ
#!/usr/bin/perl -w
use strict;
use warnings;
sub hi { print "hi\n"; }
sub hello { print "hello\n"; }
sub world { print "world\n"; }
my @stack;
push (@stack, \&hi );
push (@stack, \&hello);
push (@stack, \&world);
while (@stack) {
my $proc = pop @stack;
$proc->();
}
私はコードを実行すると:
sub mysub
{
chomp(my($arg) = @_);
print "$arg\n";
}
とI:
% ./pop-proc.pl
world
hello
hi
を今私の質問は、サブルーチンはこのように見えた場合、何です引数を指定してサブルーチンをプッシュしたいとします。
mysub("hello");
mysub("world");
入力が高く評価されています。
'&$ proc'は非常に特別なことを意味します。あなたは '&$ proc()'またはより明確な '$ proc - >()'を使用することを意味します。 – ikegami
ありがとう@ikegami。 '$ proc - >()' –