根据下面的示例代码,有两种调用子例程的方式:subname
and subname()
.
#!C:\Perl\bin\perl.exe
use strict;
use warnings;
use 5.010;
&marine(); # style 1
&marine; # style 2
sub marine {
state $n = 0; # private, persistent variable $n
$n += 1;
print "Hello, sailor number $n!\n";
}
哪一个,&marine();
or &marine;
,如果调用中没有参数,是更好的选择吗?
In 学习 Perl http://www.learning-perl.com,这个例子来自哪里,我们一开始就向您展示子例程。我们只告诉您使用&
这样,作为 Perler 初学者,您就不会遇到这样的问题:您定义了一个与 Perl 内置函数同名的子例程,然后又想知道为什么它不起作用。这&
前面总是调用您定义的子例程。初学者经常创建自己的子程序log
打印消息,因为他们习惯于在他们使用的其他技术中这样做。在 Perl 中,这是内置的数学函数。
当您习惯使用 Perl 并且了解 Perl 内置函数后(浏览perlfunc http://perldoc.perl.org/perlfunc.html),删除&
。有一些特殊的魔法&
你几乎不需要:
marine();
你可以省略()
如果你已经预先声明了子例程,但我通常会留下()
甚至还有一个空的参数列表。它更健壮一点,因为你给 Perl 暗示marine
是子程序名称。对我来说,我可以更快地认识到这是一个子程序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)