my $comb = '18,5,1790,19-66,212,213'; $comb =~ s/(\d+)-(\d+)/join ',', $1 .. $2/ge; my @seq = sort { $a <=> $b } split ',', $comb;