我正在为这样的哈希值分配值:
my $hashdt = {
a => $p,
b => $q->r,
c => $y,
};
我想更改此设置,以便只有在定义了另一个变量$ x时,c才会获取值。如果未定义$ x,则为c指定值$ y。我可以将该任务作为单独的代码行。有没有办法在这里做到这一点?其他键必须继续获取现在的值。
答案 0 :(得分:2)
试试这个:
my $hashdt = {
a => $p,
b => $q->r,
c => defined($x)?$x:$y, #you can also use '$x||$y'
};
答案 1 :(得分:1)
以下也可以 -
my $hashdt = {
a => $p,
b => $q->r,
c => $x || $y,
};