A relatively simple obfuscation for a relatively simple substitution cipher. This either takes a file as a parameter to encrypt in atbash, or provided no input encrypt's it's __DATA__.
#!/usr/bin/perl
open DATA,$ARGV[0]if$ARGV[0];$ ,=65;@ .=map$_,reverse chr$ ,..pack'c',
+$ .;$.=$,
+25;print join'',map{join'',map{$ *=ord>ord uc z?push(@%,/./)&&uc:push
+(@%,0)&&$
_;$ ^=$ *=~/[chr$,-chr$.]/?$.[(ord$*)-$,]:$*;$%[$;++]?lc$^:$^}split q,
+,,}<DATA>
__DATA__
This is an implementation of an atbash (or 'zgyzhs') cipher, which enc
+odes
strings by replacing 'a' with 'z', 'b' with 'y', etc. This is my test
+ string.
This string includes CAPital letters, spaces, punctuation, and newline
+s. This
tests EVERY capability of this implementation.
--chargrill
$,=42;for(34,0,-3,9,-11,11,-17,7,-5){$*.=pack'c'=>$,+=$_}for(reverse s
+plit//=>$*
){$%++?$ %%2?push@C,$_,$":push@c,$_,$":(push@C,$_,$")&&push@c,$"}$C[$#
+C]=$/;($#C
>$#c)?($ c=\@C)&&($ C=\@c):($ c=\@c)&&($C=\@C);$%=$|;for(@$c){print$_^
+$$C[$%++]}