#!/usr/bin/perl -w my(@F, @G); @F = ( 1, 2, 4, 8, 16, 32..64, 17 ); sub range{ my($lo, $hi) = @_; @G = sort grep {$_ >= $lo and $_ <= $hi} @F; return $G[0]..$G[$#G]; } print join(',', range(25,35)), "\n"; print join(',', range(50,75)), "\n"; print join(',', range(12,35)), "\n";