in reply to Iterate string like, for(1..5) i.e. $stirng="1..5"; for($string)
my $range = "2..5,10..15"; # Split on commas my @range = split /,/, $range; # Expand any n..m @range = map { /(\d+)..(\d+)/ ? ($1..$2) : $_ } @range;
Assuming the resulting @range is small (where small is, say, less than 10,000 elements) this will do fine. Error checking is left as an exercise for the reader.
In Section
Seekers of Perl Wisdom