in reply to How can I sort this data on the first field

use Sort::Key;
my @sorted = ikeysort { /^(\d*)/; $1 } @data;
or
my @sorted = ikeysort { no warnings; int $_ } @data;
or even
my @sorted = sort { no warnings; $a <=> $b } @data;

update: oops, "no warnings" can not be used inside the comparison expression, so...

my @sorted; { no warnings; @sorted = sort { $a <=> $b } @data; }
... has to be used instead