我是perl的新手,这件事让我感到非常紧张。我有一个哈希如下在perl中打印一个哈希数组值
%temp = (
a_collection => [\%first, \%second]
)
我想要得到的数组元素作为一个字符串,这样我就可以把它们用作循环ARGS。我有以下代码
foreach $item (@{$temp{'a_collection'}})
{
<convert to json> $item #convert each of the above hash to a json blob
<write to file> $file #write first blob to file "first.json" and so on
}
我得到了转换为json部分。我可以将它打印到标准输出。现在我想把它写入一个文件。这里的$文件应该有名字“first”和“second”。因此,循环将创建两个文件,其中包含上述散列中存在的散列变量的名称。我想要文件名匹配,所以我可以跟踪什么是创建。
编辑: 基本前提很简单。无论我做什么,无论是json编码等,我想散列变量名称作为一个字符串。所以在上面的数组中,我可以使用任何名称\%somename的散列,在循环中,我希望实际字符串“somename”在不同的变量中。如上所述,我可以使用这个字符串作为创建的文件名。我无法改变上面的哈希结构。它只是在那里,由别人创建,我只能访问它。
由于
你的循环不会将数据匹配您在上面张贴的结构。你正在使用的* actual *代码是什么? –
@ user775093你究竟在尝试什么?你是否在数组的哈希中引用哈希?如果你想这样做,请看下面的答案。或其他任何编辑您的帖子? – mkHun
你已经完全改变了这个问题,它仍然和以前一样不清楚,但我的答案的基本前提仍然是一样的:散列键。 –