gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 00:44:26 25 4
gpt4 key购买 nike

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

use strict;
my $my_hash = { field1=>'val1', field2=>'val2', field3=>'val3', };
my ($field1,$field2,$field3) = %{$my_hash}{qw(field1 field2 field3)};

print "field1=$field1\nfield2=$field2\nfield3=$field3\n";

最佳答案

您正在寻找 hash slice在您的情况下,它看起来像这样:

my ($field1,$field2,$field3) = @{$my_hash}{qw(field1 field2 field3)};

或者像这样:
my ($field1,$field2,$field3) = @$my_hash{qw(field1 field2 field3)};

如果我们简化事情以便您使用直接散列而不是散列引用,我们可以消除一些噪音,并且语法看起来会更清晰一些:
my %my_hash = ( field1=>'val1', field2=>'val2', field3=>'val3' );
my ($field1, $field2, $field3) = @my_hash{ qw(field1 field2 field3) };
# we want an array/list ---------^ ^ ^
# but my_hash is a hash -----------------/ |
# and we want these keys (in this order) ---/
# so we use a qw()-array

然后我们就可以联系到您的 $my_hash hash-ref 版本通过以通常的方式用 hash-ref 替换散列。

关于perl - 如何从 perl 哈希引用设置标量列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13657103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com