Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re^2: Sort hash with values

by sammy_01 (Initiate)
on Jun 24, 2013 at 06:36 UTC ( #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


Comment on Re^2: Sort hash with values
Download Code
Re^3: Sort hash with values
by AnomalousMonk (Abbot) 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
Node Status?
node history
Node Type: note [id://1040376]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (8)
As of 2015-07-05 15:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (67 votes), past polls