Notice I didn't say blokhead was wrong. I said should because it would make it obvious. Not everyone has a grasp of how things are implemented in all versions of perl. In fact, this is what perlop has to say on the matter.
In list context, it returns a list of values counting (up by ones) from the left value to the right value.....In the current implementation, no temporary array is created when the range operator is used as the expression in foreach loops, but older versions of Perl might burn a lot of memory when you write something like this:
Again, someone that doesn't follow perl closely might think - what version would blokhead's solution be breaking the rules or will this continue to be correct in the next version. Making it obvious eliminates any casual observer confusion.
Cheers - L~R