Perl用户函数的定义可以位于程序的任何位置,比如说放在文件的未尾。如果两个子程序使用了相同的程序名,后面的子程序将覆盖前面子程序。 Perl用户函数中的变量默认为全局变量,与其他程序共享。 Perl用户函数的调用:通过在子程序前加“&”调用,可在任一表达式内调用。子程序中可以再调用另外的子程序。 调用Perl用户函数...
递归Perl子程序有两个条件:1、除了不被Perl子程序改变的变量外,所有的变量必须的局部的;2、该Perl子程序要含有停止调用本身的代码。 七、用别名传递数组参数 1、用前面讲到的调用方法&my_sub(@array)将把数组@array的数据拷贝到Perl子程序中的变量@_中,当数组很大时,将会花费较多的资源和时间,而用别名传递将不...
\@c2,\@c3);}my @arr = (1,2,3,5,4);my (@a,@b,@c);my @refs = &choose(@arr);@a = @{$refs[0]};@b = @{$refs[1]};@c = @{$refs[2]};print "@a\n@b\n@c\n";说明:首先perl中只能对简单的列表赋值给变量列表,而不能,列表赋值给列表组成的列表...
Perl是一种通用的脚本编程语言,广泛应用于Web开发、系统管理、数据处理等领域。在Perl中,数组是一种用于存储多个值的数据结构。下面是关于来自子程序的Perl打印数组的完善且全面的答案: 概念:...
1.子程序中的私有变量 (1)默认情况下,perl中所有变量都是全局变量,但是可以通过my操作符创建私有的词法变量; 这些变量的作用范围被圈定在语句块中,它们是该语句块内的私有变量; (2)Perl允许省略语句块中最后一个分号,但是通常在程序代码简单到整个语句块只有一行时,才有必要省略分号; ...
“裸字”情况指的是,子程序名周围没有任何特殊 符号可帮助Perl判断程序里一个名字的用途.此调用有两种情况:(1)调用在子程序后 sub subname { …} …subname;(2)调用在子程序前 前向引用,需要先定义子程序名,后面再定义子程序体 sub subname;…subname;…sub subname { …} ...
3. 子程序中的私有变量 Perl 随时可以借助 my 操作符来创建私有变量,称之为词法变量(lexical variable)。 封闭语句块中的私有变量,与语句块之外任意地方的同名变量之间互不影响。 perl 允许省略语句块中最后一个分号,但实际上需要代码简单到整个语句块内只有一行时才可以省略。
c1 = @_;c2 = sort @_;c3 = reverse @_;return (\@c1,\@c2,\@c3);} my @arr = (1,2,3,5,4);my (@a,@b,@c);my @refs = &choose(@arr);a = @{$refs[0]};b = @{$refs[1]};c = @{$refs[2]};print "@a\n@b\n@c\n";说明:首先perl中只能对简单的列表...
perl学习5--子程序中自动识别参数 #!/usr/bin/perl -w sub max{ my($max_so_far) = shift @_; #my后面用来声明私有变量,因为perl中默认都为公有变量,shift取列表的头元素,并删除头元素 foreach (@_) { if ($_ > $max_so_far) { $max_so_far = $_;...
但是,没有人能够保证你不会一时糊涂,在子程序用了程序中的变量。或者当你第一次使用的时候,可以避免,当你过来几个月以后回过头再来使用的时候,就不能保证完全正确了,所以为了代码的通用性,还是在所有的子程序中使用my私有变量吧。 以上内容就是爱站技术频道小编为大家分享的perl子程序的运用及子程序中变量私有(...