note
iamcal
waaaaay to complicated for me. the best analysis i can do is:
<code>#
# use strict
#
use strict;
#
# the japh has one sub routine which it calls once
#
sub p{
#
# First we set up $_. nothing dodgy here except it contains whitespace
#
$_="\c];\a\3SE\$\5!.\f)Ut4)\aHI\r\5\f%)";
#
# here's were the nasty delimiters start
#
# this is actually "y| \n||d;" which removes all spaces and carriage
# returns from $_
#
# $_ contains the following chars: (decimal)
# 29 59 7 3 83 69 36 5 33 46 12 41 85 116 52 41 7 72 73 13 5 12 37 41
#
y< \n>++d;
#
# do some tricky regexp stuff which actually evaluates to
#
# @_ = /(.{14})(.{10})/;
#
@_=/.+?(?=\d|$)/gx;
#
# set $= to 0
#
$==$|;
#
# transliterate $_ so that it equals: (decimal)
# 29 59 7 3 83 69 14 5 33 24 12 19 85 116 52 19 7 72 73 13 5 12 15 19
#
y,"-/ ,\f- ,;
#
# assign the string in $_ to $;
#
$;=$_;
#
# a transliteraion i can't decode makes $_ equal to: (decimal)
# 60 58 47 42 62 58
#
y{;E!\a4.;@\0-z} ^</*:>nb^d;
#
# some semicolons
#
;;
#
# remove non alpha numerics from @_
# @_ = ('SEUt','4HI');
#
map {s}\W # }}xg;}@_;
#
# do a scary map on @_,'' to get chr(83),chr(52),chr(0)
#
@_=map{
chr( ($==@{[/./g]}) ? ($-=++$=**3,$%+=$-)[0] : $%/2 );
}@_,'';
#
# replace pairs of characters in $_ with perl expressions and evaluate them
# @_ = qw|W S R V Q U T P j n o k l h i m t p q u r v w s|;
#
map{
s[(.)]~@_=map{$_^$',$_^$+}@_~e;
}/../g;
#
# go through each char of $;, doing a binary XOR with the string at $_
#
# $\ ends up equal to 'Just another Perl hackerJust another Perl hacker'
#
$;=~s{.}%map{$_^=$&}@_;$\.=shift;%ge;
#
# slap a line ending on $\
#
$\.=$/;
#
# print what followed the last regexp match
#
print $';
#
# end the sub
#
}
#
# call it
#
p;
</code>
86705
86705