in reply to Freed From the Tyranny of Math::BigInt

And how much even simpler it would have been to define:
use constant BIT_0 => "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01"; use constant BIT_1 => "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02"; use constant BIT_2 => "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04"; ... use constant BIT_127 => "\x80\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; ... my_subroutine(BIT_5 | BIT_8);
and it just all works without requiring a new type or overloads. {grin}

-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.