来自哈希引用的 Perl 访问值

标签 perl hashref perl-hash

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

#!/usr/bin/perl
#use strict;
use Data::Dumper;
my %h={'one'=>1,'two'=>2};
print Dumper($h{'one'});
输出
$VAR1 = undef;

最佳答案

使用 parentheses 构造你的散列,而不是大括号:

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

my %h = ('one'=>1, 'two'=>2);
print Dumper($h{'one'});
大括号用于构造散列引用。
另外,添加 use warnings; ,这会生成一条消息,表明您的代码存在问题。

或者,如果你真的想要一个 hashref:
my $h = {'one'=>1, 'two'=>2};
print "$h->{one}\n";

关于来自哈希引用的 Perl 访问值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66062880/

相关文章:

perl - 这两个定义有什么区别?

perl - 何时使用定义

Perl 静态常量 hashrefs

perl - hashref 查找中的语法错误,看不出原因

perl - 在 Perl 中预期的偶数列表中找到引用 - 可能的传递引用错误?

Perl 通过哈希引用删除基键

linux - 管道 Perl 脚本输出到 head -n 10 在打印 10 行后杀死脚本

regex - Perl中的多行模式搜索和替换

Perl WWW::Mechanize -- 获取 URL 的身份验证错误

perl - 在 Perl 中迭代哈希