问题标签 [perl-hash]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
regex - 如何在 Perl 中合并两个以不同键开头的哈希?
我必须散列如下:
我需要将这些合并到一个哈希中。我尝试使用 Hash::Merge 但这仅在我从 subtop 开始时才有效。
倾倒结果$merged_hash
给出:
但我错过了 hash1 的顶部:
合并后所需的哈希应该是这样的:
perl - 查找哈希值的平均值 Perl
我希望返回下面的哈希值(每个键)的平均值(grades.txt)
到目前为止,我的子程序看起来像这样:
perl - 如何将一个二维元素存储在另一个哈希中?
我有一个二维哈希。
我想检索这样的哈希:
hashSlice 应该在哪里:
我已经尝试了 %、$ 和 @ 的所有组合。我也看过这里。
我似乎无法从二维散列中得到一个散列。我不想为此使用任何库。我是 perl 的新手。任何帮助将不胜感激。
perl - Perl 哈希引用 - 是否可以将对嵌套哈希的引用放入 1 个变量中?
我有一个部分嵌套的哈希,如下所示:
我想得到$href->{'word_counts'}{'train'}
. 是否可以将 放入{'word_counts'}{'train'}
变量中,所以我可以通过简单地调用来访问它$href->$variable
?
perl - 如何使用 Perl 解析多个 csv 文件并仅打印唯一的结果
我有一堆简单格式的 csv 文件,比如“姓名、国家、货币”。我需要阅读所有这些并只打印唯一的联合。如果它们出现在几个文件中,它们是相同的。尝试使用 Hash::Merge 但似乎只适用于两个。我假设我必须在打开这些文件进行阅读时在循环中重新初始化它,但不确定如何。最后,我想要一个性质相同但包含所有文件而不重复的文件。非常感谢。
输入看起来像:
输出需要相同的格式。我循环读取文件,并且在任何阶段我都有两个哈希 %A 和 %B ,其中 $name 作为键(拆分后)。
我也有两个 %merged 哈希定义为
我得到的错误是抱怨未知功能“合并”。一定是简单的东西,但看不到。
perl - 在列表上下文中分配哈希有什么区别?
我不得不表达:
为什么第一个表达式只有一个months
带undef
值的键?它们之间有什么区别?
perl - 如何破译散列数组?
我完全把这个问题弄错了。我正在使用 TMDB 的方法:
我认为输出是 JSON 格式,所以这让我很困惑,这让我一直在转圈,因为我看错了。
没有意识到下面来自 Dumper 的数据是我必须经过的实际哈希值。
这是我碰壁的地方,所以下面的数据是一个有五个键的哈希。我想要的第五个键包含另一个数组。这是我无法读入的数组。我尝试将其取消引用到哈希中,这就是我失败的地方。
我正在尝试的代码是:
它会打印出一个数组,但我无法读取该数组中的哈希值。
ps 我必须将此输出格式化为代码,否则输出时没有换行符。
perl - Perl:如何在键来自数组的地方生成哈希值
我想使用数组的结构对哈希进行哈希处理。每个数组元素都应该是前一个数组元素的子键。例如使用以下数组:
我想制作一个结构如下的哈希:
$hash{"animal"}{"dog"}{"sparky"} = 1;
数组并不总是具有相同数量的元素。但它应该构建相同的结构。
谢谢你的帮助。
perl - 哈希参考中的 Perl 访问值
在我的 Perl 代码中,我最终得到了如下所示的哈希引用。我想从中访问单个元素。我尝试了多种方法,但我无法获取它。
输出
arrays - 初始化数组的哈希
我想要一个计数器数组的哈希值,初始值为 0。这是我对代码的第一次尝试:
我们看到它们都是同一个数组,这是不希望的。为了解决这个问题,我将 #Assignment 行更改为:
现在都是不同的阵法,生活还不错。
如果分配行使用 (0, 0, $i) 我得到不同的数组(至少在这里 - 它们可能会在其他地方重用)
但我无法通过使用 (0, 0, $i - $i) 或更复杂的公式来生成 0 值。
这是 Perl 的某种优化吗?为什么 (0, 0, 0) 不是每次都是一个新数组?(0, 0) 或 (0, 0, 0, 0) 会不同吗?
为了完整起见,这里是打印子例程:
---- 以下编辑是在“没有数组注释”之后的 2 月 9 日上午 - 我想添加一些代码,但注释不允许这样做。
好的:$h{$i} = (0, 0, 0); 将其初始化为标量值 0。
但是,如下面的输出所示,某处有一个数组。
编写 $h{$i}[$i] 是否在标量旁边创建了 @-something?