问题标签 [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 投票
1 回答
468 浏览

algorithm - A DAG:自引用哈希:从任何级别的孩子中搜索第一级父级,然后搜索该父级的叶子

我有电路原理图的网表(子电路集合),通常是由一些 SPICE 模拟器创建的。它通常具有层次结构(顶级子电路调用或实例化不同的子电路并通过引脚定义它们之间的一些连接性)。示例网表如下所示:

现在可以在不同的层次结构中实例化相同的子电路。每个被调用的子电路都在调用子电路之前定义。这种图称为有向无环图。我从网表中创建了一个自引用 HASH 表以节省空间。如果一个子电路正在调用某个子电路实例,那么它就是指向该引脚。在最后一个层次结构中,我们将获得一个 MOSFET D 或 S 或 G 或 B 节点(已定义 AN2D0 子电路)。如果任何网络(与实例引脚之间的连接)从层次结构(除了调用子电路,例如 net5)中引出到父调用子电路,它被称为引脚(例如 Z),并将始终列在当前子电路定义行中按其名称(subckt AN2D0 A1 A2 VDD VSS Z)。我创建了一个散列的散列。

对于目前的情况,GRAPH 看起来像:

在此之后,将给出一个子电路名称和一个相同的引脚,可以从任何层次结构中实例化,我们必须找到父级,即追溯父级,直到网络被拉起为引脚。然后对所有的叶子(MOSFETS D 或 G 或 S 或 B 引脚)施加压力。

请建议哪种算法最适合这种情况,以及将它们存储在自引用哈希表中是否有效。

0 投票
1 回答
891 浏览

perl - 多重哈希中的整数索引是否优于字符串索引

我编写了这个示例代码来检查整数或字符串索引在 perl 哈希中是否更好。

我得到了这个输出

$ perl hashs.pl 字符串哈希开始:1308199085.84375 字符串哈希耗时:500 毫秒 整数哈希开始:1308199086.34379 整数哈希耗时:428 毫秒

我在 Cygwin (Windows) 中尝试这个,Perl 版本是 5.10.1

我在这里有几个问题 1)当我们在 Hash 中存储一个整数时,是否为此计算了一个哈希键,或者 Perl 直接在桶中使用该值?2)如果我将相同的字符串转换为整数而不是存储字符串,我是否会获得任何性能改进?3)如果我需要在 multihash 中保留 64 位值作为键,这将提供更好的性能 bigint 或将 64 位值保留为字符串

0 投票
3 回答
803 浏览

perl - Perl 多散列与单散列

我想读取和处理文件中的输入集,然后将其打印出来。我需要使用 3 个键来存储数据。假设 3 个键是k1, k2, k3

以下哪项会提供更好的性能

或者

对于我之前的问题,我得到的答案是所有 perl 哈希键都被视为字符串。

0 投票
5 回答
186 浏览

arrays - 访问散列数组的更优雅的方式

首先,如果我在即将发布的帖子中有任何术语错误,请原谅,这对我来说仍然很新。

一些背景知识,我有一个脚本可以检查我们存档的网络配置中的一组特定设置。因此,脚本会运行许多检查,并将结果添加到该检查的数组中。

例如,检查以确保配置 syslog 被添加到名为 @internalsyslogerror 的数组中

在所有检查都运行后,所有检查的数组都被添加到哈希中,键是设备名称。

注意所有代码都使用严格,使用警告

使用以下命令;

我遇到的问题是提取此信息的最优雅的方式是什么,我想减少为了向脚本添加新检查而必须进行的更改量。目前我必须将附加数组添加到上面的代码中,然后将取消引用部分添加到处理它的子程序中。

这是目前我要取消引用并将其输出到数组中所做的工作,然后我会通过电子邮件发送该数组。

问题是,我可以做我上面做的事情,但是以某种方式“即时”生成代码

谢谢

0 投票
2 回答
540 浏览

perl - 关于 perl 中的复杂哈希

我有一个哈希值,其中我的第一个键是名称,第二个键是一些类level A,例如 , level Blevel C值是 d 学生总数..

%hash{name}->{class}->number

所以我填写了我的哈希值,一切都完成了,但是现在当我打印时我得到了这个数字,但是如果假设学生姓名在 A 级和 C 级而不是 B 级,它应该显示

我怎样才能得到这样的结果?请帮帮我。。

0 投票
3 回答
413 浏览

perl - 如何在不重复二级键的情况下打印出复杂的哈希?

嗨,我有一个包含班级名称、注册学生人数和学生姓名的哈希哈希。
如何在不重复二级键的情况下打印出此哈希。
示例:我填写哈希的数据是科学课,3 名学生注册了 George,Lisa,Mathias 和 Math Class,4 名学生注册了 Peter,George,Anna,Martin。

我得到如下结果:

Science_class: 2=Lisa
1=George
3=Mathias
Math_class: 2=Anna
1=Martin
3=Peter
4=George

但我希望我的结果为:

Science_class: 3 -> Lisa, George, Mathias
Math_class: 4 -> Anna, Martin, Peter, George

如何更正我的脚本?帮帮我。

0 投票
1 回答
246 浏览

perl - 如何使用perl获取war文件的统计信息

我有获取给定文件的统计信息的 Perl 脚本。但它不适用于.war文件。(这个文件有符号链接。)

我正在传递具有多个文件的文件位置。

$fntxt指向/dw/xyz/file1.txt. file1.txt/vob/vob1/test.war

执行@Stats=stat($ln);返回一个.war文件的空数组。

任何帮助,将不胜感激。

0 投票
3 回答
580 浏览

perl - 在 Perl 中遍历哈希?

当我尝试延迟存储的引用(在 extract Tripwire/get Data 子例程中设置)并将其转换回哈希(在 Compare 子例程中)时,即 %hash = %{$DataHash{$key}}; ,然后我尝试打印密钥。我遇到了这些问题:

在数组取消引用中使用未初始化的值 $hash{"ElementName"} 在行...这是在 @hashItems = @{$hash{ElementName}}; 线

在打印中使用未初始化的值 .... print "Data: ", $hash{ElementName}, "\n"; 线

我如何创建散列的散列有问题吗?我怎么读的?

0 投票
1 回答
459 浏览

json - 我正在将从服务器返回的 json 文件转换为 perl 数据结构

我能够将硬编码的 json 字符串转换为 perl 哈希,但是如果我想将完整的 json 文件转换为 perl 数据结构,以后可以以任何方式解析,我会收到以下错误。格式错误的 JSON 字符串,既不是数组、对象、数字、字符串也不是原子,在 json_vellai.pl 第 9 行的字符偏移量 0(“(字符串结尾)”之前)

这就是我的代码的样子..请帮帮我

0 投票
1 回答
341 浏览

perl - Perl 处理两个哈希引用

我想比较两个哈希引用的值。我的第一个哈希的数据转储器是这样的:

第二个哈希与此类似,但数组中有更多哈希。如果位置和染色体匹配,我想比较我的第一个和第二个哈希的基因型。

我可以对第一个哈希数组执行此操作。您能帮我了解如何为所有阵列工作吗?

这是我完整的实际代码