假设我有一个包含所有子程序名称的数组,我想逐个调用.
foreach $sub (@arr){
print "Calling $sub\n";
#---How to call $sub?----
&$sub; ## will not work
}
Run Code Online (Sandbox Code Playgroud) 我如何对哈希值进行排序并将其计入相关键.
例如:push @ {$ name_hash {$ st_name}},$ end_name;
$VAR1 = 'firstname')';
$VAR2 = [
'lastname1',
'lastname1',
'lastname1',
'lastname2',
'lastname2',
'lastname2',
'lastname3',
'lastname3',
]
Run Code Online (Sandbox Code Playgroud)
我需要表格
`firstname : lastname1 : 3`
`firstname : lastname2 : 3`
`firstname : lastname3 : 2`
Run Code Online (Sandbox Code Playgroud)
我尝试使用一些计数器,但它在启动时失败,我只有多次值或在最后一个值的末尾(在本例中为lastname3).
foreach $n (sort keys %name_hash) {
$ecounter =0; $temp2 = "NA"; $tcount =0; $p =0;
foreach $lastn (sort values @{$name_hash{$n}}) {
$ecounter ++ if ($lastn eq $temp2);
$tcount++;
if (($tcount) > ($ecounter+1) ){
print " $n : $temp2 : $ecounter+1\n"; …Run Code Online (Sandbox Code Playgroud) 我是perl的新人.我正在从一本书中学习,其中一个例子就在那里.我无法找到问题所在.
use 5.010;
greet( 'Fred' );
greet( 'Barney' );
sub greet {
state $last_person;
my $name = shift;
print "Hi $name! ";
# This is the error line:
if( defined $last_person ) {
print "$last_person is also here!\n";
} else {
print "You are the first one here!\n"
}
$last_person = $name;
}
Run Code Online (Sandbox Code Playgroud)
它在ch4_3.pl上的未定义值上给出了"无法调用方法"状态的错误.