use warnings; use strict; use Parse::Range qw(parse_range); my $list = "2-4,10-12"; print join ','=> parse_range($list); # 2,3,4,10,11,12