my $mask= 0x0f000007; my $val= 0; do { printf "0x%08.8x\n", $val & $mask; $val |= ~$mask; ++$val; } while( $val <= ~0 );