use version; use strict; use warnings; use Data::Dumper; my @ordered = sort { version->parse($b) <=> version->parse($a) } ('1.93_99', '1.94_55'); print Dumper(\@ordered);