使用另一个数组对散列perl进行排序
我正在尝试使用列表/数组对哈希进行排序使用另一个数组对散列perl进行排序,perl,sorting,Perl,Sorting,我正在尝试使用列表/数组对哈希进行排序 my $hash = { cta => '01340031810312074443', ttr => '001',fil => '0000', ref => '0000', mef => '0000000000000060000', mch => '00000
my $hash = { cta => '01340031810312074443',
ttr => '001',fil => '0000',
ref => '0000',
mef => '0000000000000060000',
mch => '0000000000000000000',
nli => '00000000',
tdi => 'V',
ndi => '006126952',
tdip => 'V',
ndip => '006126952',
};
@order = qw(cta ttr fil ref mef mch nli tdi ndi tdip ndip);
我们知道Perl不会以散列形式保存订单,但我需要按该顺序打印。我该怎么做
谢谢试试这个:
for (@order) {
print $_, " => ", $hash->{$_}, "\n";
}
如果只想打印值而不打印键,还可以使用哈希片:
use feature 'say';
say join "\t", @hash{@order};
如何按数组
@order
中存储的顺序打印密钥?你真的需要考虑一下吗?print$hash->{$}for@order
噢,不,你没有使用
来连接变量和字符串print“$key:$hash->{$key}\n”
我自己也养成了这个习惯,因为你必须跳转来插值说“$object的结果是$object->Result”
use feature 'say';
say join "\t", @hash{@order};