增加散列Perl中的值
发布时间:2020-12-16 06:06:58 所属栏目:大数据 来源:网络整理
导读:我正在尝试增加哈希值,但我的输出混乱.我将一个数组,散列和标量值数组传递给函数. 下面的代码打算首先看看它是否是一个哈希值,如果是这样的话,它会通过值并递增它们. elsif (ref($_) eq "HASH"){ foreach $s (values %{$_}){ $s++; } } 我正在传递以下哈希:
我正在尝试增加哈希值,但我的输出混乱.我将一个数组,散列和标量值数组传递给函数.
下面的代码打算首先看看它是否是一个哈希值,如果是这样的话,它会通过值并递增它们. elsif (ref($_) eq "HASH"){ foreach $s (values %{$_}){ $s++; } } 我正在传递以下哈希: { a => 1,b => 2,c => 3 },{ d => 4,e => 5 }, 然而,当我打印或返回$s时,我会得到不同的输出,例如: 4 2 3 5 6 要么 2 4 3 6 5 或其他一些随机变化.我想要的是,显然, 2 3 4 5 6 我确信这很简单,但我在Perl方面不是很有经验. 解决方法
散列不是在Perl中订购的.如果要对值进行排序,请对它们进行排序:
#! /usr/bin/perl use warnings; use strict; use feature qw{ say }; my $ref = { a => 1,c => 3 }; $_++ for values %$ref; say join ' ',sort values %$ref; # By values. say join ' ',@$ref{ sort keys %$ref }; # By keys. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |