Another one I've been playing with. Perhaps a little silly, but hey -- it's obfuscated, right?
Nevermind. Just don't stare at the result for too long ;-)
I don't do win32, so my apologies to all the windows users if this script fails to execute correctly -- I can't test whether that 'system(cls)' part works. If everything else fails, add any non-zero argument to the command line.
Update: just noticed (and removed) an unnecessary variable in the code. Thank you all for being considerate enough not to point that mistake ;-)
Update 2: added the 'require' line. Thanks, ChemBoy!
#!/usr/bin/perl -w # -w is good for you
use strict; # or die slow, horrible death while debugging
require 5.005; # for '{} for()' ;-)
my $japh;
$_='$.=q:SUB%SUB{};sub%SUB{SUB{};}sub%SUB{$_[0]->{V}=$_[1];}sub%
SUB{$_=$_[0]->{V}x20;$\=++$_[0]->{A};s/\s/./g;my@t=split//;pop;p
ush@_,map{"%"x60}(1..20);$/=0;for(0..600){$\+=0.045;($,,$.)=(30+
2*$/*sin$\,%10-%$/*cos$\);(!@t)&&last;substr($_[$.],$,,1)%=~%s/%
/shift@t/e%unless((%$,<0)or(%$,>=%60)or($.<%0)or($.>=%20));%$/+=
0.03;}%$\=%$/="";join"\n",@_;}SUB%($japh,"p");%:;$.=~s/SUB/$_/fo
r%map{join%"",map{chr%(%ord($_)-1)}%split//}qw{%qbdlbhf%q<%UJFTD
BMBS%cmftt%TUPSF%GFUDI%ujf%}%;$_=$.;';s/\s//g;s/%/ /g;eval;eval;
$japh="Just another perl hacker.";
for ( 0..1000 ) {
$ARGV[0] or ($^O eq 'MSWin32') ? system('cls') : print `clear`;
print "$japh\n";
}
-
marcink