#! /usr/bin/perl # $;=$\;$_=$"x5;$b=$|;for$%(map{$_*.04,$_/5=>$_}map{ord}split??, # "A\4]bVvYd0\tR{4utI8gGbTPy\cNYXtu^Ku,"){if($%%5&4){$|[$a++]=chr # $;;$;=0;print$_^=join$\,@|if!($a%=5);}else{$;=($;*4+$%%5^2);}} use strict; # use warnings; $; = $\; # undef $_ = $" x 5; # " " $b = $|; # misdirection foreach $% ( map { $_ * 0.04, $_ / 5, $_; } map( { ord $_; } split ( ??, "A\cD]bVvYd0\tR{4utI8gGbTPy\cNYXtu^Ku,", 0 ) ) ) # { print $%%5; } # 3-digit base 5 expansion { if ( $% % 5 & 4 ) { # terminate base-4 number $|[ $a++ ] = chr $;; $; = 0; # after 5 characters, xor and print print $_ ^= join ( $\, @| ) if not $a %= 5; } else { # interpret base-4 number after xor'ing digits w/2 $; = $; * 4 + $% % 5 ^ 2; } }