perl - 如何从 Perl hashref 中提取多个值?

标签 perl hashref

如何将 Perl hashref 解压为多个命名标量变量?

我已经看到它完成了,但似乎无法使其发挥作用。

假设$hashref如给定的,以及 $arg1 的定义至$arg3 ,这是我的尝试:

my $hashref = { arg1 => 'val1', arg2 => 'val2', arg3 => 'val3',};
my ($arg1,$arg2,$arg3) = @{%$hashref}[qw(arg1 arg2 arg3)]; 

最佳答案

你需要这个

my ($arg1,$arg2,$arg3) = @{$hashref}{qw(arg1 arg2 arg3)};

这是针对哈希引用的哈希切片

关于perl - 如何从 Perl hashref 中提取多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57290219/

相关文章:

perl - XML::Dumper 在输出中使用错误的哈希引用

arrays - 如何将数组或列表转换为 hashref?

Perl 合并哈希

arrays - 在 Perl 中让数组元素以特定关键字结尾并将其余元素移至下一行

regex - 正则表达式中的 perl 正则表达式

php - Perl 相当于 PHP 的 escapeshellarg

web-services - Perl:无法将 xml 数据发布到 Web 服务

perl - 对 MooseX::Declare 的 ctags 支持? (Perl)

perl - 是否有复合哈希的 Hash::Util 替代方案?

perl - 如何从 perl 哈希引用设置标量列表?