Hi farang,
The mySort routine looks like it's not doing it's job properly or efficiently..
Though, I don't know how the OP wants his/her data sorted, but really there is no need for the mySort subroutine. Because, all that that subroutine is doing can be done in a sort block like so:
use strict;
use warnings;
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"
);
foreach my $Value (
sort {
$IP_Store{$a} =~ /(\d+)/;
my $firstVal = $1;
$IP_Store{$b} =~ /(\d+)/;
my $secVal = $1;
$firstVal <=> $secVal;
} keys %IP_Store
)
{
print "$IP_Store{$Value}\n";
print "System_ip = '$Value' \n";
}
Which will produce the same result....
If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author
unknown to me