ׁHi Lina, On Wed, 21 Mar 2012 21:00:53 +0800 lina <lina.lastn...@gmail.com> wrote:
> Hi, > > I tried to write something, but chocked in the end, > > Thanks ahead for your advice, > > #!/usr/bin/env perl > > use strict; > use warnings; > > my %h = ( > 1 => "a", > 2 => "b", > 3 => "c" > ); > > foreach my $key ( sort keys %h){ > $h{$h{$key}}=$key; > delete $h{$key}; > } This is a very bad and dangerous way to do this. A better way would be: my %reversed_h = reverse(%h); If you need more fine-grained control on the output of the reversed hash, then loop on the keys into a new hash - don't modify the existing hash in-place. > foreach my $key (sort keys %h){ > print $array{$key},"\n"; Where does %array come from? Regards, Shlomi Fish -- ----------------------------------------------------------------- Shlomi Fish http://www.shlomifish.org/ Apple Inc. is Evil - http://www.shlomifish.org/open-source/anti/apple/ Trying to block Internet pornography is like climbing a waterfall and trying to stay dry. (— one of Shlomi Fish’s Internet Friends) Please reply to list if it's a mailing list post - http://shlom.in/reply . -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/