sort { ($a =~ /(\d+)/)[0] <=> ($b =~ /(\d+)/)[0] } sort { ($a =~ /\d+/g)[0] <=> ($b =~ /\d+/g)[0] } sort { (split /;/, $a)[0] <=> (split /;/, $b)[0] }