$fh->read(my $buf, 12); my ($var1, $var2, @raw) = unpack 's s L2' $buf; my ($var3,$var4) = map { ($_ >> 8, $_ & 0xff) } $raw[0]; my ($var5,$var6) = map { ($_ >> 26, $_ & 0x3fffffff) } $raw[1];