I've seen a couple of Obfus here that are based upon the predictable nature of perl's random number generator. Unfortunately, these solutions tend to be system/version dependant. Here is my attempt at a rand-JAPH that overcomes this issue.
use subs qw(rand);@" =(-31,1,57,87,-46,26,27,6,0,46,,72,
36,-7,-3,-4,-2,50,3,-6,58,16,2,-15,56,15);@_=(1,0,1,0,0,
1,1);$!=0; for(1..25) {@_=rand(@_);print chr($_+@"[$!]);
$!++;}sub rand{unshift(@_,$_[3]^$_[5]), pop(@_), $_= '',
$_=join(/,/,@_),$_=&_($_),return @_}sub _{return unpack(
"N", pack("B32",substr("0"x32 . shift,-32)));} rand(@_);
Does this work for everyone?