【问题标题】:Split values from hash to another hash in perl在perl中将值从哈希拆分到另一个哈希
【发布时间】:2017-09-14 17:23:20
【问题描述】:

我有一个这样的哈希。其中有一些重复的值,如 ID 和 VALUES,如下面的代码所示。

HASH = {
TEST => 'xxx',
STACK => 1,
  'ID{0}' => '111',
  'ID{1}' => '222',
  'VALUE{0}' => 'Test',
  'VALUE{1}' => 'Sample',
};

我想将这些值取出到另一个哈希中,如下所示。

Hash ={
0 => { ID => '111', VALUE => 'Test }
1 => { ID => '222', VALUE => 'Sample' }
}

我如何在 Perl 中做到这一点?

【问题讨论】:

  • 你试过什么?你有什么问题?请向我们展示您的代码。如果您没有任何代码,那么 Stack Overflow 可能是您提出问题的错误地方。
  • 第一个哈希是如何创建的?最好的方法是在创建第一个哈希值的同时创建第二个哈希值。
  • 这是您粘贴的数据结构还是一些文本?看起来它已经不是哈希了。但通过keysvalues 和哈希切片映射两者是可行的。

标签: perl hash


【解决方案1】:

你需要做一个散列的散列

%hash = 
( 
  TEST => 'xxx',
  STACK => 1,
  1 => {
  'ID' => '111',
  'VALUE' => 'Test',
  } , 
    2 => {
      'ID' => '222',
      'VALUE' => 'Sample',
   }
);

访问它们

$hash{1}->{ID};

这里是有关哈希值的更多信息的链接LINK

【讨论】:

  • 你也可以使用散列数组的散列
  • 我已编辑此答案以删除指向真正过时 Perl 书籍的侵犯版权副本的链接,并将其替换为官方文档的链接。请不要在 Stack Overflow 上放这样的链接。
  • 好的,np。没有意识到有好的和坏的链接。我会把它留给官方的 perl 和 perl maven。干杯
猜你喜欢
  • 2012-06-16
  • 2015-02-08
  • 2020-02-20
  • 1970-01-01
  • 2017-02-22
  • 2010-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多