相关疑难解决方法(0)

如何按特定顺序打印Perl哈希?

我有这个代码

#!/usr/bin/perl
use strict;

my @a = ("b","a","d","c");
my %h = ("a",1,"b",2,"c",3,"d",4);

#print '"' . join('","', @a), "\"\n";

print "\n";
foreach my $key (@a) {
    print '"' . $h{$key} . '",';
}
print "\n";
Run Code Online (Sandbox Code Playgroud)

那个输出

"2","1","4","3",
Run Code Online (Sandbox Code Playgroud)

但我想它只是输出

"2","1","4","3"
Run Code Online (Sandbox Code Playgroud)

请注意,最后','不在那里.

是否有可能以特定的顺序打印哈希,或者其他一些技巧来获得我想要的输出?

更新:

根据friedo的回答,我能够做到对了.

print '"' . join('","', @h{@a}), "\"\n";
Run Code Online (Sandbox Code Playgroud)

弗里多的答案没有关于价值观的引用.

arrays perl hash

2
推荐指数
2
解决办法
722
查看次数

标签 统计

arrays ×1

hash ×1

perl ×1