perl // 操作符 与 ||的区别

6235阅读 1评论2011-06-02 zzy7186
分类:LINUX

在shell中可以这样为变量指定一个默认值。$new=${var:-value}如果var未定义或者为空时默认值为value
[root@Server1 perllearn]#echo $var

[root@Server1 perllearn]#new=${var:-11}
[root@Server1 perllearn]#echo $new
11
[root@Server1 perllearn]#var=""
[root@Server1 perllearn]#new=${var:-11}
[root@Server1 perllearn]#echo $new
11
[root@Server1 perllearn]#var=1
[root@Server1 perllearn]#new=${var:-11}
[root@Server1 perllearn]#echo $new
1
而在perl中 也可以为变量提供默认值
方法:
$var//=2; 或则 $var||=2;
这两种方法是有区别的
对于后面一种是当$var 为undef时 还有的空字符串“”时 以及为0时值都会是2 
而前面一种 相当于$var=definded($var)//2;
所有当$var 为空串和0是 definded($var)为真 所以结果为$var本身。分别为空串和0
上一篇:perl 易用的数据结构
下一篇:perl 杂记 Ⅱ

文章评论