perl - 取消引用哈希值

标签 perl hash reference

这不起作用:

 my %y = ("lkj",34);
 my %i = ("lkj",66);
 my @e = (\%y, \%i);
 my $u = ${%{$e[0]}}{"lkj"};

但确实如此:

         my %u = %{$e[0]};
         print $u{"lkj"};

如果我不想输入额外的行,我该怎么办。

最佳答案

您使用 -> 运算符:

$e[0]->{"lkj"}

你可以对 arrayrefs 做类似的事情,它甚至可以链接:

my $eref = \@e;
print $eref->[0]->{"lkj"}

作为奖励,您也可以使用 arrayrefs 的 {} 简写在一行中完成所有设置:

my @e = ( { lkj => 34 }, { lkj => 66 } );

关于perl - 取消引用哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10694319/

相关文章:

linux - 使用 Perl 在 Linux 上访问 BDB 文件失败

perl - Perl 什么时候强加字符串上下文?

java - 为什么 Java 的 hashCode 不支持通用散列?

安卓密码哈希

random - 与 MD5 哈希算法产生冲突的最佳策略是什么

c++ - 引用本地可访问数据的正当理由?

c++ - 解压 C++ 指针/引用语法

php - 命令行 MySQL 脚本

Perl HTTP::Request HASH 错误?

.net - F# 处理值和引用