来自哈希参考的 Perl 访问值

Vin*_*ick 4 perl hashref perl-hash

在我的 Perl 代码中,我最终得到了如下所示的哈希引用。我想从中访问单个元素。我尝试了多种方法,但我无法获取它。

#!/usr/bin/perl
#use strict;
use Data::Dumper;
my %h={'one'=>1,'two'=>2};
print Dumper($h{'one'});
Run Code Online (Sandbox Code Playgroud)

输出

$VAR1 = undef;
Run Code Online (Sandbox Code Playgroud)

too*_*lic 8

使用括号来构建散列,而不是大括号:

use strict;
use warnings;
use Data::Dumper;

my %h = ('one'=>1, 'two'=>2);
print Dumper($h{'one'});
Run Code Online (Sandbox Code Playgroud)

大括号用于构造散列引用。

另外, add use warnings;,这会生成一条消息,表明您的代码存在问题。


或者,如果你真的想要一个 hashref:

my $h = {'one'=>1, 'two'=>2};
print "$h->{one}\n";
Run Code Online (Sandbox Code Playgroud)