Wow great job ++!
Of course you are not 'playing fair' either because -MO=Deparse didn't help me a bit (nice!).
I was suprised at the output. I guess I was expecting to seeing encrypted data being massaged into unencrypted data even though it was stated that the output was encrypted. I think that was because of looking at too many obfu's and seeing encrypted data printing something you didn't expect. Perhaps this could be a next step?
The screen updates during the encryption were cool. Definitely a marvel.
Unfortunately, as stated in the first paragraph, or perhaps in the __DATA__ section, this will be a tougher nut to crack than something like the vigenere cipher. Also unlike my obfuscated vigenere, I didn't wait to post this one until I had a Playfair cracker mostly ready to go... but I'm definitely planning on writing a playfair cracker, unless someone beats me to it ;)