my @seq = qw[ 1035-2341 1047-835 1035-2347 874-3971 1035-65 874-70 1035-46 ]; say for map {join "-", unpack "nn", $_} sort map {pack "nn", split "-"} @seq;