perl 子程序传递参数不同类型变量 设置

#!/bin/perl

$str_my1='_old1';
$str_my2='_old2';

&sub_test(*str_my1,*str_my2);
sub sub_test{
 ($str_my1,$str_my2)=@_;
 print "sub:$str_my1/n";
 print "sub:$str_my2/n";
 $str_my1.='_new';
 $str_my2.='_new';
 print "sub:$str_my1/n";
 print "sub:$str_my2/n";
}
print("/n$str_my1/n$str_my2/n");

#给子程序传递变量参数时
#可传递一般变量($var)也可以传递别名(*var)
#在子程序中设置用来接收参数的变量时可以用 my(vars)  或 local(vars)
#其中用my  只能接收 一般变量($var)不能传递别名(*var)
#而用local则两种都可以,但是 $vars 获得$var的值,而获得*var的变量名 ,*vars取得*var的指针(类c指针,但不一样),×vars不能获取$var(为空)
#如果不用my or local 则规则同local但是操作的都是指针

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值