or download this
# Arguments are datum length (5, 6, 7, or 8) and stream data (whose
# length must be a multiple of the datum length)
...
my $pad = pack 'C*', ( 0 ) x ( 8 - $length );
return map { unpack 'Q<', "$_$pad" } unpack "(a$length)*", $stream
+;
}