问题标签 [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.
perl - 从 shell 读取/转储 perl 哈希
我有一个只读的 perl 文件,其中定义了一个巨大的哈希值。无论如何我可以阅读这个 perl 文件并转储散列内容吗?
这是文件中散列的基本结构。
perl - 在哈希中,我们可以将三个键组合在一起指向一个值吗?
我对下面的哈希声明有疑问:
%metadataHash
是一个哈希
在第 1 行和第 2 行中,很明显键(“name”、“type”)和值($name、$Type)。
但在第 3 行,
- 我们可以将三个键
{"student"}{$file}{"math"}
组合在一起指向一个值吗? - 在第 3 行中,它们是否以一种被视为一个键或三个不同键的方式组合在一起?
perl - 根据 perl 中的第一列合并 N 个文件
我的问题类似于之前发布的这个问题。
我有很多文件,我需要根据第一列 ID 的存在与否来合并它们,但是在合并时,我的输出文件中有很多空值,如果不是,我希望这些空值为零存在于另一个文件中。下面的示例仅基于两个文件内容,但我有许多类似这种格式的示例文件(表格)。
例如:
正如您在上面看到的,我得到了输出,但在 file2 列中,它没有添加零或留空,并且在 file1 列的情况下它具有 undef 值。我检查了 undef 值,然后我的最终输出给出了零来代替 undef 值,但我仍然有那些空格。请在下面找到我的代码(仅针对两个文件进行硬编码)。
perl - 如何在循环中访问嵌套的数组哈希?
我有这种格式的数据
我想计算第一列中每个实体的累积分数(第三列)。所以我试着做一个哈希,我的代码看起来像这样:
输出看起来像这样
我现在想访问第 1 列 (a1,a2,a3) 中的每个实体并添加分数,因此所需的输出将是这样的:
但是我无法想出如何在循环中访问创建的哈希值以添加值?
perl - 在使用“strict refs”时不能使用字符串(“”)作为 HASH ref
在使用“strict refs”时不能使用字符串(“”)作为 HASH ref
perl - 插入和迭代数组的哈希
我有以下输入数据
我想将此数据插入哈希%INFO
中,以便每个键对应于“运算符”数组,因此我可以按以下方式迭代
这是我自己的无法正常工作的解决方案
perl - 终端窗口和 txt 文件中的输出不同?
我正在尝试通过 Perl 合并两个文件。
到目前为止的代码:
我正在使用打印或 Dumper 功能来检查每个步骤。在终端窗口中,一切都很好。但是,在我的输出文件(合并的 txt)中,格式已更改。我想通过添加更多列而不是添加更多行来合并两个文件。如何修复代码?
perl - Perl 哈希名称(在声明时)可以在同一个哈希中使用吗?
我正在声明一个哈希,并且在声明它的时候,我在内部使用它作为它的一个元素作为另一个元素的输入。您可以通过以下未编译的代码轻松掌握,因为 Strict pragma 为 ON:
及其产生编译时错误。
所以我的问题是如何在声明时重用相同的哈希元素作为相同哈希的其他元素的输入?这里元素“a”和“b”是“z”元素函数的输入。
从逻辑上讲,如果尚未声明散列,则不能使用它,那么如何在声明时将一个元素用作相同散列的其他元素的输入?希望我清楚...
perl - 如何在不知道其键的情况下遍历哈希的嵌套哈希?
我有一个哈希哈希,即我的数据结构中的哈希和哈希引用。当我只有主哈希名称而没有最深哈希的键时,我可以遍历最深哈希吗?
当我只有它的名称 %gates_info 并且没有诸如“nand”或“and”之类的键时,我想遍历整个哈希。我想要实现的是通过排序获得每个门中的最高数值。比如nand case中的3和and case中的2。sub max_gate_order 用于排序和返回最大值。谢谢
perl - 使用多个条件对嵌套哈希进行排序
我对 perl 编程有点陌生,我有一个可以这样表述的哈希:
哈希的结构总结如下:
我想根据某些条件对这个哈希进行排序。首先,我只想考虑那些蛋白质总数高于 100 的生物体,然后我想显示生物体的名称以及最大的蛋白质及其长度。
为此,我将采用以下方法:
但是,这会打印出生物体名称的次数与蛋白质总数一样多,例如,它打印“蛇”120 次。此外,这不是正确排序,因为我想我应该在排序行中使用变量 $org 和 $prot。
最后,输出应如下所示: