//''是什么在字符串末尾连接时Perl是什么意思?

时间:2014-08-20 13:42:44

标签: perl

我在google上环顾四周,找不到任何东西来解释//''在Perl表达式结束时的含义,例如。

my $username = $cgi->param('username') // '';

我唯一能想到的是它将用户名设置为表单中的空字符串,类似于HTML中标签内部的值='',但我不确定。

3 个答案:

答案 0 :(得分:6)

//defined-or operator

因此$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将设置为空字符串。