- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何将 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/
我有一个这样的 list : my $myV3VersionOfData = ["ZG","ZB","CXLDN",...]; 我想把它转换成这样的字典: my $entries = { 'ZG' =
今天传递的这段代码的变体(由 perl 编码器编写),令人困惑: my $k = {3,5,6,8}; my $y = {%$k}; 为什么?那有什么作用?这似乎与此相同: my $
我似乎无法打印 hashref 的值。 我可以这样打印 key : foreach (sort keys %$wss_href) { print "$_\n"; } 我还想打印每个键的值
使用 Text::Ngram 我有 my $c = ngram_counts($text, 3); my %ct = %($c); 这不起作用( Scalar found where operator
当我遇到一些我不理解的奇怪行为时,我正在使用一些没有任何用处的混淆代码。 这是我的代码。 no strict; sub foo{1&&{${$_[0]},${$_[0]}}}say map {&${$
我在哈希引用中有一个套接字句柄:$self->{socket} . 我想使用 $line = {socket}> 读取它,但出现语法错误。 我知道了 print {$self->{socket}} "
假设我有一个如下所示的 hashref 常量: use constant DOGS => { Lassie => 'collie', Benji => 'mutt', Sco
perl -E 'say for map s/(æ|ø|å)/ {qw(æ ae ø oe å aa)}->{$1}/ger, qw(rød gul blå)' perl -E 'say for
我试图使用哈希的 hashref 来存储持久字段和该字段更改时间的时间戳。 它需要共享,因为我有 2 个线程需要访问它,尽管只有一个设置了值。 这是我当前的代码,其中包含几个注释掉的变体: my $s
我想阅读更多关于通常放在有助于消除代码块歧义的 hashref 前面的 + 的信息。 最早是什么时候介绍的? 谁首先介绍它(推荐它)? 在引入此功能之前,人们是如何解决这个问题的? 使用此语法时想到的
我正在尝试解密一个我不熟悉的 Perl 代码,它与 HashRef 有某种关系。 我正在使用 Amazon::S3,但我的问题是一个通用的 Perl 问题。请参阅下面的代码: use Amazon::
有一个简单的示例代码 use Modern::Perl; use Data::Dumper; package My; use Moose; use Method::Signatures::Simple
这个问题已经有答案了: How to set a list of scalars from a perl hash ref? (2 个回答) 已关闭 4 年前。 如何将 Perl hashref 解压
这个问题已经有答案了: How to set a list of scalars from a perl hash ref? (2 个回答) 已关闭 4 年前。 如何将 Perl hashref 解压
我的代码如下 super 简单,但我只是没有让它按预期工作。 use strict; use warnings; use CGI::Carp qw(fatalsToBrowser); use CGI
if((scalar keys ($this->{'libraries'}->{$y}->{'cellHash'})) == 0){ 这是我得到“引用的键的参数类型必须是无福的 hashref 或 a
我发现自己反复编写和重写以下类型的代码: my %default = (x => "a", y => "b"); sub new { my ($package, $config) =
我有两个 Perl 哈希值,内容如下: 第一: $VAR1 = { 'name1' => [ 'adam', '
对于没有故事的问题,请跳到该行之后。 我正在胡闹,将一些字母和数字的字符串(这两种情况都可能出现)分成哈希引用中的两个字段。它们应该只在该字段存在时出现。字符串可能如下所示:/^\D*\d*$/,例如
试图回答How to instantiate Moose classes from a big hash ,我想我又遇到了一个我不完全理解 Moose 类型强制的地方。由于某种原因,以下代码发出警告:
我是一名优秀的程序员,十分优秀!