小编Raj*_*Raj的帖子

如何使用变量名调用perl中的子例程

假设我有一个包含所有子程序名称的数组,我想逐个调用.

foreach $sub (@arr){
      print "Calling $sub\n";
       #---How to call $sub?----
       &$sub;  ## will not work
}
Run Code Online (Sandbox Code Playgroud)

perl call subroutine

5
推荐指数
2
解决办法
1199
查看次数

perl中的散列内的数组

我如何对哈希值进行排序并将其计入相关键.

例如: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

0
推荐指数
1
解决办法
47
查看次数

"无法在未定义的值上调用方法'状态'"?

我是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上的未定义值上给出了"无法调用方法"状态的错误.

perl

-1
推荐指数
1
解决办法
578
查看次数

标签 统计

perl ×3

call ×1

subroutine ×1