Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^2: Sort hash with values

by sammy_01 (Initiate)
on Jun 24, 2013 at 06:36 UTC ( [id://1040376]=note: print w/replies, xml ) Need Help??


in reply to Re: Sort hash with values
in thread Sort hash with values

Hi Rahul,

May be this will solve your problem.

sub mySort { $a =~ /(\d+)/; my $firstVal = $1; $b =~ /(\d+)/; my $secVal = $1; $firstVal <=> $secVal; } my %IP_Store = ( "11.0.0.1" => "UEH1_system_ip", "11.0.0.11" => "UEH11_system_ip", "11.0.0.3" => "UEH25_system_ip", "11.0.0.25" => "UEH111_system_ip" ); %new_hash = reverse(%IP_Store); foreach my $key (sort mySort (keys(%new_hash))) { chomp($key); print "$key\n"; print "System_ip = $new_hash{$key}\n"; #print "PDN-IP = '$Values' \n"; }
The only change i have done is reversing the hash.

Output:

-------

UEH1_system_ip

System_ip = 11.0.0.1

UEH11_system_ip

System_ip = 11.0.0.11

UEH25_system_ip

System_ip = 11.0.0.3

UEH111_system_ip

System_ip = 11.0.0.25

Replies are listed 'Best First'.
Re^3: Sort hash with values
by AnomalousMonk (Archbishop) on Jun 24, 2013 at 19:44 UTC
    The only change i have done is reversing the hash.

    A naive hash reversal works just fine if the hash values are unique to begin with. If they're not, somebody's gonna get (silently) clobbered. Maybe add a pre/post reversal size check:

    >perl -wMstrict -le "my %hash = qw(a aye b bee c see eh aye); ;; my $pre_k = keys %hash; %hash = reverse %hash; $pre_k == keys %hash or die 'somebody got clobbered'; " somebody got clobbered at -e line 1.
      Oh Yes, i do agree with you.
      Sammy..

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1040376]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (5)
As of 2024-04-20 02:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found