# generate unnamed array by [ ]@LoL = ( ["1" , "21", "21" ],
["5" , "33", "43" ],
["12", "15", "21" ] );
# in array @LoL, thera are references of each element quarted by [ ]print "@LoL\n";# that is why, each refferance $_ operated ->[0] means the real value of 1,5,12# and, operated ->[1] and ->[2] are understanded in the same way.foreach (@LoL){
print $_."\t".$_->[0]."\t".$_->[1]."\t".$_->[2]."\n";
}# to sort values on 3rd column, How to?# first, get values and refferences on 3rd column# and generte hash %column like key:refference value:value.foreach (@LoL){
$column{$_} = $_->[2];
}print %column;print "\n";# second, sort values in hash and get the rasult in array @column_sorted.# third, foreach my $value (sort {$a<=>$b} values %column){
foreach my $key ( keys %column ){
if ( $value eq $column{$key} ){
$value2 = delete $column{$key};
print "$value2\t$key\n";
push @LoL2,$key;
last;
}
}
}print "@LoL2\n";# on the end here is a sorted LoL by the numberes on 3rd columnforeach my $ref (@LoL2){
foreach (@LoL){
if ($_ eq $ref){
print $_."\t".$_->[0]."\t".$_->[1]."\t".$_->[2]."\n";
last;
}
}
}
exit;