#! perl; -slw use strict; use Data::Dump qw[ pp ]; my @a = ( [ qw[ A BBL 0.2 ] ], [ qw[ B BBH 0.3 ] ], [ qw[ C BB 0.1 ] ], ); my @ordered = sort{ $b->[ 2 ] <=> $a->[ 2 ] } @a; pp \@ordered; __END__ c:\test>junk.pl [["B", "BBH", "0.3"], ["A", "BBL", "0.2"], ["C", "BB", "0.1"]]