perl – 默认值为缺少哈希值

前端之家收集整理的这篇文章主要介绍了perl – 默认值为缺少哈希值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Perl中创建了一个哈希我的%hash =(2 =>’dog’,1 =>’cat’);

当我打印$hash {3}时,它会出现错误(在打印中使用未初始化的值).但是,如果不是哈希值,有没有办法默认值?

解决方法

my $value = exists($hash{$k}) ? $hash{$k} : 'default';

要实际更改哈希值,请使用

$hash{$k} = 'default' if !exists($hash{k});

如果$hash {$k}总是被定义,如果它存在,你也可以使用

my $value = defined($hash{$k}) ? $hash{$k} : 'default';

这可以减少到

my $value = $hash{$k} // 'default';   # 5.10+

要实际更改哈希值,请使用

$hash{$k} = 'default' if !defined($hash{k});

要么

$hash{$k} //= 'default';   # 5.10+

如果$hash {$k}总是存在,那么你也可以使用

my $value = $hash{$k} ? $hash{$k} : 'default';

这可以减少到

my $value = $hash{$k} || 'default';

要实际更改哈希值,请使用

$hash{$k} = 'default' if !$hash{k};

要么

$hash{$k} ||= 'default';

猜你在找的Perl相关文章