perl中三种定义变量方式的一点区别

perl下一般有三种定义一个变量的方法:
1. $var = "XXX"
2. local($var) = "XXX"
3. my($var) = "XXX"
 
第一种方式是定义一个全局的变量,第二种方式定义一个local类型的变量,第三种方式定义一个my类型的变量。
目前我知道的这三种定义变量的方式在作用域上有区别,下面这个例子可以说明这一点。
----------------------------------------------------------------------------------------------------------
$var = "global";        # 生命全局变量$var
&print_var( );            # 输出结果是:global
 
&print_local( );         # 输出结果是:local
                             # print_local中声明的变量的作用于延续到被它调用的子例程中
 
&print_my( );            # 输出结果是:global
                             # print_my中声明的变量仅在print_my中有效
 
sub print_var { print "$office/n"; }        
sub print_local { local($var) = "local"; &print_var( ); }
sub print_my { my($var) = "my"; &print_var( ); }

-----------------------------------------------------------------------------------------------------------

2007/11/21 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值