in reply to reversible pack()?

huh, learn something around here everyday. I always suspected that's how gzip compression worked, never bothered to learn. Thanks perlmonks! So I wonder where the break even point is? His example is short, but he refers to moving Large Programs(tm) around.

I thought there was an Apache module that compressed URL parameters with gzip and hashed the output and I remember thinking that the strings were so short it seemed like it's only use was obfuscation. Poking around CPAN there are so many Apache modules now (vs then) that I got sidetracked looking at PerlIO::gzip. Take a look, maybe it'll save you some time.

Depending on that serial link you might think about using PPP compression. PPP is too much overhead (but you did say the link was busy) so you might be running straight comms. What was the compression built into the modems called, v42?

I'm sure you've already explored XON/XOFF vs RTS/CTS to save a few bits. 7bit vs 8bit to save on checksums. Oh, checksums, yuck, lose a bit on a noisy serial link and your data won't decompress, but then again your code wouldn't work (correctly) either.

You could send the compiled bytecode. Too much work for too little benefit. Guess I've been reading too much java serialization late at night. Maybe you could run it through Acme::Morse or something that generates code that would compress better?