in reply to XOR'ing to calculate a hex checksum

I'd suggest to use pack to create a binary string, work with that, and then use unpack to return to the format you want.

See perlpacktut for a gentler introduction.