my $mask= 0x0f000007; my $val= $mask; do { printf "0x%08.8x\n", $val; --$val; $val &= $mask; } while( $val != $mask );