【问题标题】:Copy a hash out of a hash reference从散列引用中复制散列
【发布时间】:2012-10-06 17:55:33
【问题描述】:

我有一个对哈希哈希的哈希引用。

ref -> hash1
哈希2
等等……

我正在尝试复制 2 个哈希值以用于相互比较。

   my %hash1 = %$ref->{ $name1}; // but I can't get it to work.  
   my %hash2 = %$ref->{ $name2};

我明白了:在预期的偶数列表中找到了参考。

我知道我没有声明这是正确的,因此我们将不胜感激。

【问题讨论】:

    标签: perl hash


    【解决方案1】:

    这里有错误:%$ref->{ $name1};,这是不正确的尊重。请在下面查看我的示例。

    #!/usr/bin/perl
    
    use strict;
    use Data::Dumper;
    
    my $ref = {
        hash1 => { a => 1, b => 2 },
        hash2 => { c => 3, d => 3 },
    };
    
    my $name = 'hash1';
    my %hash = %{ $ref->{$name} }; # right dereference
    print Dumper(\%hash);
    

    【讨论】:

    • “隐式取消引用”是什么意思?我看不出它有任何适用方式
    【解决方案2】:

    由于运算符优先级,您需要这样做:

    my %hash1 = %{ $ref->{$name} };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-09
      • 2016-09-08
      • 1970-01-01
      • 2013-07-13
      • 2010-12-31
      • 2012-11-10
      相关资源
      最近更新 更多