碰到了大神的一行代码 “$dit = $dit->{$k} //= {};”, 不是很明白“//”,就百度了下,主要参考 http://blog.chinaunix.net/uid-24504673-id-351325.html , 然后自己动手,总结一下:
$var//=“*” 和 $var||=“*” 的区别
实验结果:
$var//=“*”;
######################
$var=undef; 或者直接不给定义的时候, $var//="*"; 否则 给别的值 都是给的参数值本身。例如给个空字串 “”,。 输出也是空字串,$var=1, 则输出为1.
$var||=“*”;
######################
$var=undef; $var=0; $var="" ; 直接不给定义的时候, $var//="*"; 就是 在传参为 0,空子串 或者 未定义(undef)的 情况下, 输出为 *
否则 给别的值 都是给的参数值本身。$var=1, 则输出为1。