Rob Dixon wrote:
Gunwant Singh wrote:
Hi all,
I really appreciate all you guys there for the help you've provided to
me in the past.
So here I am again with a Question.
I have a file with the following entries:
1:17
4:3
4:11
4:13
11:16
12:10
13:2
19:5
20:7
26:12
28:4
33:15
33:17
35:9
36:1
42:14
43:6
44:8
46:0.. and so on
You will see that the left column is sorted. However the right one isn't.
What I want to do is to sort the right one but the corresponding values
should remain the same.
Notice the repeated values too.
Any thoughts?
I think you mean you want to sort by the second field instead of the first one?
The code below should suit your purpose.
HTH,
Rob
use strict;
use warnings;
my @list = qw(
1:17
4:3
4:11
4:13
11:16
12:10
13:2
19:5
20:7
26:12
28:4
33:15
33:17
35:9
36:1
42:14
43:6
44:8
46:0
);
my @sorted = sort {
my @a = split /:/, $a;
my @b = split /:/, $b;
$a[1] <=> $b[1];
} @list;
print "$_\n" foreach @sorted;
I got what your code says.Thanks a lot!!
Can you tell me what is $a[1] <=> $b[1] doing for me?
--
Gunwant Singh.
"What is the sound of Perl?
Is it not the sound of Wall that people bang their heads against?"
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/