在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
http://developer.51cto.com/art/201007/213003.htm
Perl编程语言中Perl函数返回值用法你是否比较熟悉,这里向大家简单介绍一下,希望本文的介绍能让你有所收获欢迎大家一起来学习有关Perl语言的相关内容。
本文和大家重点讨论一下Perl函数返回值的概念,在Perl中,return语句可以返回一个标量值或者一个列表,这个标量值可以是一个变量,或者一个表达式的最后求值。 Perl函数返回值 在Perl中,return语句可以返回一个标量值或者一个列表,这个标量值可以是一个变量,或者一个表达式的最后求值,如:return1;<===>return(1);return$a+$b;<===>return($a+$b); 一、单一变量的Perl函数返回值
1 #Functiondefinition. 2 subget_value() 3 { 4 my$var; 5 $var=1; 6 return($var); 7 } 8 #########Mainscript 9 my$result; 10 $result=get_value(); 11 print"\$result=$result\n"; 12 #######printresultis: 13 $result=1;
二、多个标量的Perl函数返回值
1 #Functiondefinition. 2 subget_value() 3 { 4 my($var_a,$var_b); 5 $var_a=1; 6 $var_b=2; 7 return($var_a,$var_b); 8 } 9 #########Mainscript 10 my($result_a,$result_b); 11 ($result_a,$result_b)=get_value(); 12 print"\$result_a=$result_a\n\$result_b=$result_b\n"; 13 #######printresultis: 14 $result_a=1; 15 $result_b=2;
三、数组的Perl函数返回值 有问题的代码: 1 #Functiondefinition. 2 subget_value() 3 { 4 my(@$var_a,@var_b); 5 @var_a=(1,2); 6 @var_b=(30,40); 7 return(@var_a,@var_b); 8 } 9 #########Mainscript 10 my(@result_a,@result_b); 11 (@result_a,@result_b)=get_value(); 12 print"\@result_a=@result_a\n\@result_b=@result_b\n"; 13 #######printresultis: 14 @result_a=1,2,30,40 15 @result_b=
#!!!在这里,我们原本希望得到的结果应该是: 1 #Function definition. 2 sub get_value() 3 { 4 my(@$var_a,@var_b); 5 @var_a=(1,2); 6 @var_b=(30,40); 7 return(\@var_a,\@var_b); 8 } 9 #########Main script 10 my(@result_a,@result_b); 11 my($result_a_ref,$result_b_ref); 12 ($result_a_ref,$result_b_ref)=get_value(); 13 #here need to encode the reference 14 @result_a=@$result_a_ref; 15 @result_b=@$result_b_ref; 16 print"\@result_a=@result_a\n\@result_b=@result_b\n"; 17 #######print resultis: 18 @result_a=1,2 19 @result_b=30,40
所以对于哈希变量的返回也可以做同样的处理,当有标量,数组,哈希变量一起混合使用的时候也应该做同样的处理。 |
请发表评论