This not an obfuscation per se, but rather a proof of concept... (which doesn't support -w)

use strict;my$s=';pop';$_='';# 59 /e, 2001 Philippe "BooK" Bruhat *_=*ARGV;@_=qw(4a4a2bfe01ac410d0105f4fd0dae30150dfab448f90208fa0d98 pop print+chr(shift) print+chr(shift) unshift@_,(shift()+shift())x2 push@_,(pop,pop)x24 ; unshift@_,(map{unpack'c',$_}split//)[0..25] ; s/../chr(hex$&)/eg $_=substr(shift,0,52) @_=map{s|$|$s|s;$_}@_;pop) ;s//$s/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee;

Once you've understood this one (and the way it loops), you know there is no limit to the number of /e you can put in a s///.