问题标签 [perl-data-structures]

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.

0 投票
5 回答
4889 浏览

perl - 具有数组值的 Perl 哈希的最佳实践是什么?

解决此问题的最佳做法是什么?

存储一个元素的坏习惯是数组还是一个只是哈希中的双引号?

0 投票
3 回答
4217 浏览

perl - 我应该如何将值存储在多级 Perl 哈希中?

我想做这样的事情。我记得我在像这样编程时遇到了一些价值观消失的问题。这种类型的结构对于哈希是否“正确/有效”?

0 投票
5 回答
4885 浏览

perl - 如何取消引用 Perl 中的数组数组?

传递给函数时如何取消引用数组数组?

我这样做是这样的:

实际上我希望数组@c应该包含@array1@array2和的地址@array3

0 投票
2 回答
166 浏览

perl - 在脚本中使用预解析的协议定义并使其保持最新

对于我的工作,我有时必须处理来自二进制协议的日志文件(日志文件包含消息的十六进制转储)。我想编写一个 Perl 脚本,它可以为我解释二进制数据并以更友好的格式打印内容。

我有一个专有格式的协议消息的(机器可读)描述,并且我(大部分)弄清楚了如何解析该格式(我无法完全理解的部分与我的目标无关,所以我可以忽略它们),因此我可以将描述转换为数据结构以在我的脚本中使用。

因为协议描述很少改变,每次我想分析一个日志文件时重新解析协议描述似乎是一种浪费,但另一方面,如果描述确实改变了,或者我不小心丢弃了我的预解析表单描述,那么我希望我的脚本自动触发对描述的重新解析。
实现这一点的最佳方法是什么?

0 投票
1 回答
145 浏览

perl - 在 Perl 中合并内部哈希

我有 3 维散列和 2 维散列,我想将 2 维散列与 3 维散列的一个内部散列合并,类似这样,这类似于我合并一对 2d 散列:

但是当我尝试它时它不起作用。我应该做什么?

0 投票
2 回答
27866 浏览

perl - 双箭头 (=>) 运算符在 Perl 中如何工作?

我知道=>运算符的哈希使用,像这样

我认为这只是初始化哈希的语法,但是在回答How can Iqualified a variable as const/final in Perl? ,=>一直这样使用

究竟是什么=>意思?还有更多=>可以使用的方法吗?

0 投票
1 回答
579 浏览

perl - 使用 perl 脚本编辑帮助以在数组中的特定位置开始和停止

寻找故障排除和编辑帮助。这是一个家庭作业。我的教授鼓励使用论坛。我还没有使用 Perl Functions 或 Subs 的经验,所以请将响应限制在适当的级别,以便我理解。

该脚本的目的是读取一串 DNA(或我稍后将添加的命令行文件),将其翻译成 RNA,然后以大写单字母氨基酸名称的形式返回蛋白质的值。

脚本的作用:

  1. 从第一个字符中取出 3 个字符“密码子”,并给它们一个单字母符号(哈希表中的大写单字母氨基酸名称)

  2. 打印以 AUG(“M”)开头并以 UAG、UAA 或 UGA 结尾的字符串的 RNA 蛋白质。

  3. 如果遇到间隙,则启动新行并重复该过程。我们可以假设间隙是三的倍数。

据我所知,主要问题:

  1. 我不知道数据在哪里循环通过哈希表。我试过在我的 Foreach 块之前和之后放置它。我还完全取消了 Foreach 块并尝试了 While & If。

  2. Foreach 块似乎并未处理所有 @all_codons 数组,仅在 AUG 处停止。

  3. 明显和最大的问题是它什么也没返回。沿途某处 $next_codon 值被分配“假”。我已经尝试逐条注释每一行 - 返回任何内容的最后一行是 My $start 并且从那里开始它都是错误的。

剧本:

0 投票
3 回答
2246 浏览

arrays - Perl:散列中数组的大小,在另一个散列中

所以,我有一个哈希 %HoHoA。每个顶级散列键都有一个二级散列键作为值。每个二级散列都有数组数组作为值。

在 perl 的调试器中,它看起来像这样:

我正在尝试获取每个套件的两个数组的大小。在上面的例子中,Second_Key_2 有两个数组,第 0 个的大小为 3。

我收到一条错误消息,例如:Can't use string ("string 3") as an ARRAY ref while "strict refs" in use

为什么我会收到该错误消息,我应该怎么做?

0 投票
3 回答
450 浏览

arrays - Perl如何访问作为另一个哈希值的数组元素的哈希?

我正在尝试创建一个以数组为值的哈希。

值的第一个元素(它是一个数组)是一个标量。值的第二个元素(它是一个数组)是另一个散列。

我已将值放入此哈希的键和值中,如下所示:

这里,

我的主哈希 -> senseInformationHash

我的价值 -> 是一个数组

所以,${$senseInformationHash{$sense}[1]}给我参考我的哈希

我输入键和值如下:

我不确定这是否是正确的方法。因为我被卡住了,不知道如何打印这个复杂的东西。我想把它打印出来,以检查我是否做得正确。

任何帮助将不胜感激。提前致谢!

0 投票
4 回答
433 浏览

arrays - Perl:哈希内的数组内的哈希

我正在尝试构建一个将数组作为一个值的哈希;然后这个数组将包含哈希。不幸的是,我把它编码错了,它被解释为一个伪散列。请帮忙!