У меня есть этот код
#!/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";
, который выводит
"2","1","4","3",
но я бы хотел, чтобы он только что вывел
"2","1","4","3"
Обратите внимание, что последнего ',' там нет.
Возможно ли, например, вывести хеш в определенном порядке или какой-то другой трюк, чтобы получить желаемый вывод?
Обновление:
Основываясь на ответе Фридо, я смог сделать все правильно.
print '"' . join('","', @h{@a}), "\"\n";
В ответе Фридо нет кавычек вокруг значений.