Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^3: Perl sorting unique values

by pr09 (Novice)
on Jun 23, 2011 at 05:38 UTC ( [id://911012]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Perl sorting unique values
in thread Perl sorting unique values

Hi All, I used wind's method but with slight modifications as below
##########################prints unique and sorted salary use strict; use warnings; my %hash; open my $fh, '<', 'abc.txt' or die $!; while (<$fh>) { chomp; my ($key, $val , $val1) = split '\|'; $hash{$val1}++; } print "$_\n" for sort keys %hash; ----abc.txt------ P|PERL|50000 Paa|JAVA|20000 Poo|VB|10000 AB|SAN|20000 ABCD|CSS|500 PQRS|HTML|200 --The output is-- 10000 200 20000 500 50000
Though i sorted and printed the unique values,the issue is maybe we may want to print it like
50000 20000 10000 500 200
But according to "Perl in 21 days" sort only compares the first digit/letter and sorts accordingly. For printing the above specified output we may want to write a subroutine which compares two values and then swaps them and prints the output. And one more thing, we are not allowed to install CPAN modules in our firm,as we have restricted access.So whatever we do we have to use existing functions and code.

Replies are listed 'Best First'.
Re^4: Perl sorting unique values
by pr09 (Novice) on Jun 23, 2011 at 08:06 UTC
    Got the desired output:
    # use strict; #use warnings; my %hash; open my $fh, '<','abc.txt' or die $!; while (<$fh>) { chomp; my ($key, $val , $val1) = split '\|'; $hash{$val1}++; } @sorted= reverse sort keys %hash; #print "After reverse sorting @sorted\n"; ################sorts and prints the array salaries in descending orde +r for($i=0;$i<=20;$i++) { for($j=$i+1;$j<=20;$j++) { if ($sorted[$i] < $sorted[$j]) { $temp = $sorted[$i]; $sorted[$i] = $sorted[$j]; $sorted[$j] = $temp; } } } print "The salaries in unique and sorted descending order are\n"; print "@sorted\n";
    Thanks All.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (2)
As of 2024-04-24 13:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found