我正在编写工作代码,并遇到了一个有趣的问题.我搜索了关于这个主题的资源,但没有找到明确的答案.
在Perl模块中编写子函数时,在结束括号后是否需要分号?
如:
sub printFoo {
print "foo";
};
Run Code Online (Sandbox Code Playgroud)
这是否与常规Perl脚本中的子函数有所不同?
当我在没有分号的模块中使用上述函数时,我得到一个引用"未定义子例程"的错误.
我有信心在过去我使用了类似的代码片段而没有分号后面的分号,但现在我不再积极了.
向正确的方向推进会很棒!
如果您正在编写匿名函数,那么您需要使用分号,即.
my $func = sub {
print "foo";
};
Run Code Online (Sandbox Code Playgroud)
对于普通函数,不需要分号,实际上解析器适用于:
perl -MO=Deparse semi
sub printFoo {
print 'foo';
}
Run Code Online (Sandbox Code Playgroud)
-
cat semi
sub printFoo {
print "foo";
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
459 次 |
| 最近记录: |