in reply to Crypt::CBC help!

I havent used Crypt::CBC before, but how about the theory its terminating on a "funny" character?

You could avoid this by using pack/unpack on the reads before you crypt.

For example:

while (<INFILE>) { print CRYPTFILE $cipher->crypt($_); }
Becomes:
while (<INFILE>) { print CRYPTFILE $cipher->crypt( pack("H*",$_) ); }

Obviously you'd then reverse it when reading the cyphertext. I'm not sure if you'd then get into the situation of double <cr>'s at the end of every decrypted line.

Even so, this is a bit of a hack, as you would really like to understand *why* the event is occuring.

As a slight aside, plaintext and cyphertext would generally be used as jargon.