是否可以在 Perl 的哈希构造函数中定义匿名子例程?
我正在尝试做这样的事情:
my %array = { one => sub { print "first $_[0]" },
two => sub { print "next $_[0]" },
three => sub { print "last $_[0]" }};
$array{$foo}->('thing');
但它不起作用。代码似乎可以运行和编译,但数组中的值是空白的。如果我这样做:
my %array;
$array{'one'} = sub { print "first $_[0]" };
$array{'two'} = sub { print "next $_[0]" };
$array{'three'} = sub { print "last $_[0]" };
$array{$foo}->('thing');
然后它似乎工作正常。所以我有一个解决方法,但这只是让我烦恼,我想知道是否有人知道这是否可能,如果有,语法是什么。