Pack/unpack support the 'q' and 'Q' types for 64 bit signed and unsigned quads.
See "perldoc -f pack" and "perldoc -f unpack" for how pack and unpack are used.
I imagine the easist way would be to slurp the binary data into a string, and unpack it as you go. As you pull parts of the string off, you can then discard that portion on the string. If you can post a example of what the data stream looks like, someone here will probably post some example code for doing this.
If you need to manipulate 64 bits integers (particularly multiply them), see
Math::BigInt will allow arbitrary sized integers.
--Chris
e-mail jcwren