分类: IT业界
2011-07-13 23:08:05
函数的格式 sub shift_to_uppercase{ @words=qw(cia fbi un nato unicef); foreach(@words){ $_=uc($_); #换成大写 } return(@words); } @acronyms=shift_to_uppercase(); print "@acronyms"; 输出为:CIA FBI UN NATO UNICEF
与C语言不同,在perl中,perl的变量默认为全局变量 例如: sub moonweight{
return($weight/6); } $weight=120; print moonweight; 要使变量成为函数的专用变量,使用my操作符 sub moonweight{ my $weight; $weight=@_; return($weight/6); } print moonweight(120); 程序中的其他函数都不能访问$weight的值,全局变量和专用变量可以拥有相同的名字
用my声明多个专用变量 my($larry,@curly,%moe); 大部分时候,使用如下形式 sub player_stats{ my($at_bats,$hits,$walks)=@_; # Rest of function... } 这种方法能够创建一个与程序员友好的函数,它的变量都是函数的专用变量,因此它们不会影响其他的函数,或者受其他函数的影响(包括程序的主体)。当子例程运行结束时,所有专用变量均被撤消。
递归函数 sub factorial { my($num)=@_; #将参数传递给变量$num return(1) if ($num<=1); return ($num*factorial($num-1)); } print factorial(6);
my和local声明的变量 sub bar{ ($a,$b)=@_; $b=100; $a=$a+1; print $a,"\n",$b,"\n"; } sub foo{ my($a)=67; local($b)=@_; bar($a,$b); print $a,"\n",$b,"\n"; } foo(5,10) 输出为: 68 100 67 100 |