#!/usr/bin/perl use warnings; my $ranges = '1,3-7,9-22'; print "$ranges\n"; $ranges =~ s/-/../g; my @array = map {$_} eval $ranges; print "@array\n";