my $hex = hex("1c023d64"); my $mask = 31 << 5; my $result = ($hex & $mask) >> 5; printf "Hex: %30b\n", $hex; printf "Mask: %30b\n", $mask; printf "Result: %30b (%d)\n", $result, $result;