#!/usr/bin/perl use warnings; use strict; my $str = "1, 2 ,3, 4,6 -10,11 - 15,16, 17"; $str =~ s/\s+//g; $str =~ s/-/\.\./g; my @arr = eval $str; for (@arr){ my $i = $_; print "==>>> $i\n"; }