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

时间:2015-12-09 12:03:59

标签: perl

我是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;
}

它在ch4_3.pl上的未定义值上给出了“无法调用方法”状态的错误。

1 个答案:

答案 0 :(得分:8)

可能未启用 $("#jqxgridPtr1").on('cellclick', function (event) { var args = event.args; ddlclicked = args.rowindex; }); $("#jqxgridPtr1").on('select', function (event) { var args = event.args; if (args.type == 'mouse') { $("#jqxgridPtr1").jqxGrid('setcellvalue', ddlclicked, "IsMDRTotalComp", event.target.textContent); SavegridPtr1('1', ddlclicked); } }); 功能?引用the docs

  

状态变量仅在使用功能“state”编译指示生效时启用,除非关键字写为CORE :: state。另见功能。或者,在当前范围内包含使用v5.10或更高版本。

正如我在评论中所读到的那样,你没有包含state pragma。我认为这就是问题所在。没有它,我的Perl(5.18.2,和你的一样)抱怨同样的错误。