【发布时间】:2011-10-28 05:02:54
【问题描述】:
我是 Perl 新手,我知道您可以按名称调用函数,如下所示:
&$functionName();。但是,我想按名称使用数组。这可能吗?
长代码:
sub print_species_names {
my $species = shift(@_);
my @cats = ("Jeffry", "Owen");
my @dogs = ("Duke", "Lassie");
switch ($species) {
case "cats" {
foreach (@cats) {
print $_ . "\n";
}
}
case "dogs" {
foreach (@dogs) {
print $_ . "\n";
}
}
}
}
寻求类似这样的短代码:
sub print_species_names {
my $species = shift(@_);
my @cats = ("Jeffry", "Owen");
my @dogs = ("Duke", "Lassie");
foreach (@<$species>) {
print $_ . "\n";
}
}
【问题讨论】:
-
所有内容都显示在
perldoc perlref- 寻找“符号引用” -
您也可以阅读
perldoc perlreftut,以解释制作数据结构的更好方法,如已发布的答案所示