-6
1) %hash = (
    1 => 'a',
    4 => 'g',
    7 => 'h'

);

逆関数を使用せずに指定されたハッシュを逆にするWAP?

4

3 に答える 3

2

あなたは本当にPerlを学ぶべきです-あなたがそれを自分で学ぶときそれは本当に楽しいです。

それは本当にとても簡単です:

my %rev;
foreach my $key (keys %hash) {
    $rev{$hash{$key}} = $key;
}
于 2013-02-18T10:02:42.873 に答える
0

TIMTOWTDI:

my %a = ( foo => 1, bar => 2 );    # original hash
my @a = %a;                        # copy to array
my @rev;                           # reversed list container
push @rev, pop @a while @a;        # fill @rev from the back forward
my %rev = @rev;                    # assign reversed list to hash
于 2013-02-18T10:57:00.623 に答える
0
my %by_letter;
@by_letter{ values(%by_num) } = keys(%by_num);

また

my %by_letter = map { $by_num{$_} => $_ } keys(%by_num);
于 2013-02-18T11:48:54.400 に答える