use strict; my @F = ( 1, 2, 4, 8, 32..64, 26 ); sub range{ my($lo, $hi) = @_; return grep {$F[$_] >= $lo and $F[$_] <= $hi} 0..$#F; } print join(',', range(25,35)), "\n";