我在google上环顾四周,找不到任何东西来解释//''在Perl表达式结束时的含义,例如。
my $username = $cgi->param('username') // '';
我唯一能想到的是它将用户名设置为表单中的空字符串,类似于HTML中标签内部的值='',但我不确定。
答案 0 :(得分:6)
因此$username
是参数'username'
的值,如果已定义,则为空字符串。
答案 1 :(得分:5)
它是defined or operator。与||
类似,但查找变量是否已定义,而不是为真:
my $number;
$number = '0';
my $var = $number // '1';
print "$var\n";
将0
打印,并定义为$number
。
然而,替换||
,其中测试的是真实性:
my $number;
$number = '0';
my $var = $number || '1';
print "$var\n";
将打印1
,尽管已定义$number
,但评估为假
答案 2 :(得分:4)
这是defined-or运算符。如果$cgi->param('username')
为undef
,则$username
将设置为空字符串。