问题标签 [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.

0 投票
2 回答
72 浏览

perl - 如何在 Perl 中打印上一个键值?

在这段代码中,我正在检查某个键是否存在。在这里,我正在检查键“Uri”是否存在。我得到的输出为“3”。

输出

但是,我希望在该键之前出现前一个键值。例如:

  1. 如果我搜索键“Uri”输出应该是“2”
  2. 如果我搜索键“Vivek”输出应该是“7”
  3. 如果我搜索关键“柏拉图”输出应该是“0”

有谁知道该怎么做?

0 投票
1 回答
91 浏览

sorting - 如何对 perl 哈希进行排序?

我有以下哈希结构,哈希哈希。

我正在尝试根据“分数”值对哈希进行排序。排序应该只发生在主键 '191' 和 '190' 内部的内容中。有关预期结果,请参见下面的哈希结构。

排序是根据分数值降序进行的。

我已经尝试了下面的代码,但它有点基于主键。我需要输出,如预期的哈希结构所示。

这里 %rankBased 是哈希值。

请帮忙。

0 投票
2 回答
50 浏览

perl - 加入相同的数组值哈希

我有一个带有特定数据集的哈希。我需要操纵哈希值,以便获得如下结果:

预期输出:

脚本:

电流输出:

我怎样才能在这里得到预期的输出?

0 投票
1 回答
70 浏览

regex - 将相同哈希中的关键元素与正则表达式匹配并将其存储在 HoA 中

我有散列(%Hash)中的元素列表。

我需要相互比较关键元素,如果一个键与另一个键匹配(在某些条件下),那么它将成为一对并且应该将其存储在 HOA 中。

这是我的脚本:

比方说,如果任何元素包含,Network=ROOT,Network=R16,Me=4462,Element=1那么如果任何其他元素包含上述数据以及键以结尾,Device=\d+那么两者都应该成为键和值数组。

当前结果:

预期结果:

为什么我undef在 HOA 中获得价值。

更新: 我已经更新了代码,在第二次哈希迭代中,代码如下所示:

我现在能够得到想要的结果。但是有什么紧凑的方法可以实现这一点(因为我在哈希中迭代哈希)。

0 投票
2 回答
164 浏览

perl - 将多个哈希作为参数传递给 Perl 子例程 (Perl 5.16 / Perl 5.30)

我们试图将多个散列与一堆标量一起作为参数传递给子例程。问题在于这个子程序的多次调用,(如果我们在函数内部检索到两个哈希后打印它们),只有一个(第一个)得到正确的值。第二个是空的。我们尝试了很多东西-

1 ) 来自 Stackoverflow/PerlMonks 等具有不同语法的两个独立哈希,并作为参考传递。

或者

2)创建两个哈希数组并传递

4 ) 创建哈希值并通过

  1. 在 Perl 5.16(CentOS 7 的默认发行版)和 Perl 5.30 中尝试它们。

到目前为止,这还没有成功。如果有人有想法并愿意分享,那将是很大的帮助。


编辑

在@zdim 和@Polar Bear 的建议下,我尝试了这些东西->

将 @_ 卸载到函数内部的标量的语法 ->

一个) my ($ref_to_hash0, $ref_to_hash1, $var0, $var1, $var2) = @_;

b)

我也尝试过这 3 种散列引用风格的散列赋值。

一个) my %local_hash_shallow_copy = %$ref_to_hash0;

b) my $local_hashref_deep_copy = dclone $ref_to_hash0;

C) my %local_hash_shallow_copy = %{$ref_to_hash0};

似乎在这个 sub 调用的 9 次迭代中,我在 sub 2 内得到了正确的哈希值。在其他时候,我只是简单地丢了一个指针-

我正在使用 Dumper 将散列转储在外部 - 就在子调用之前,并且就在内部 - 就在我将值从 ref 转移到实际散列之后。这应该避免任何愚蠢的错误。

要么我在这里犯了一个非常基本的错误,要么遇到了一个不可思议的问题。正在调试它。

供参考。

0 投票
1 回答
125 浏览

java - 如何使用 Java 将 Perl 哈希转换为 JSON?

我很欣赏将 Perl 哈希转换为 JSON 的 Java 代码示例。

很多 Perl 代码都可以做到这一点,但到目前为止还没有找到等效的 Java 代码。

示例哈希: