my $str = "1, 2 ,3, 4,6 -10,11 - 15,16, 17"; $str =~ s/\s+//g; $str =~ s/-/\.\./g; my @arr = split /,/, $str; for (@arr){ my $i = $_; print "==>>> $i\n"; }