use Modern::Perl; use Parse::Range qw(parse_range); my $str = "1, 2 ,3, 4,6 -10,11 - 15,16, 17"; my @arr = parse_range($str); say "@arr";