在许多情况下,需要为一个没有设置默认值的变量设置默认值。特别是当需要统计评测控制行参数的时候。
perl语言中的||(两条竖线)操作用于返回第一个为真值的数(例如,不是0,“0”或“”)。当使用合适时,它可以非常方便地在一条语句中测试和设置默认值。例如:
$state = $opt_s || "
$path = $ARGV[0] || '/';
如果变量的设置和测试是同样的,你就可以使用perl的通用的二位操作语句,如$var ||= $value,它表示$var = $var || $value,就像$var += 1和$var = $var + 1是一个意思一样。
下面的这些语句都是等价的:
$start ||= 5;
$start = $start || 5;
$start = $start ? $start : 5;
$start = 5 if (! $start);
if ($start == 0) { $start = 5; }
同样你可以连续使用多个||操作数来按顺序处理一系列数,并返回第一个值为真的数。
$start = $go || $begin || $commence || $initiate || $engage;
$phone = $work || $home || $mobile || $pager || 'unlisted';
所以,为控制行参数或者函数参数设置默认值用perl语言中的||操作是非常方便的。