in reply to Bitwise Operator Error

Even if you follow broomdusters advice, you still have a big problem. The internal numbers presentation automatically changes a number to floating point if it gets too big. Anding floating point numbers is quite useless as you can see here:

$maskResult = 4000000000000000 & 4000000000000000; print $maskResult,"\n"; ####prints 4294967295 $maskResult = 1000000000000000 & 4000000000000000; print $maskResult,"\n"; ####prints 4294967295

If you want to use really large integers you need bigint or Math:BigInt