http://www.perlmonks.org?node_id=144612


in reply to Elusive monks

The following is executable (the same as the original)
SPOILER - hilight to see, or click d/l code
# How many elusive monks have you seen today? Oh? None? Are you sure? =head1 I see approximately C<int 6.59> A simple de-obfu (and a late-night one at that) =cut $_=q[>s='!16@ !@-@--8! 14#-#!@1#-#- -8-@@ @--@- @@@-@-#@#--@@ @@-@@--@-@ @---@@@#-#-@- @@@@# 85--@ -z-1- @-z@5 #@#-5 --@-4 -@-z- 1-@#z 5--@# z#--1 -1@@8 #-#@# -7-#@ -1@#- ---#- #-#-# -#-#- #@6-7 -#-#- #-#-- z9@@z -#8b-@@-1@z@#@@# -#-#@ #@#-#@#-#@@z@@ #1#@#-#@#@@z@ z@@81-#8#@#8##'; >s=~s .!(\d\d).'-'x> 1.eg;>b=^z#/ :ju:,>s;>o=1;%b@ #=mz^ {>o++ ,>_}s plit' ',^z# /:ju: ,'@f5f@060 @7@8@ 90z-# 5#@e7 #';>o =0;pr int>b@#{ve #(>b, >o++, 4)}wh ile>o <@98] ; ($c=x)++; # $c is now 'y' # nifty trick ;) ~ great misdirection (ya gots to love it) # and more follows (althought It'd have been *super* cool if he had wo +rked in # another pair of [] in there) $= =~ s[0]{$c.'!/>:u@#zj^-!k$"*2caHp3!'}ee; # on first /e, the str becomes y!/>:u@#zj^-!k$"*2caHp3! # then $_ is modified =head1 C<$_> now contains $s='!162 !232338! 14c3c!21c3c3 38322 23323 222323c2c3322 2232233232 2333222c3c323 2222c 85332 3a313 23a25 c2c35 33234 323a3 132ca 5332c ac331 31228 c3c2c 373c2 312c3 333c3 c3c3c 3c3c3 c2637 3c3c3 c3c33 a922a 3c8b322312a2c22c 3c3c2 c2c3c2c3c22a22 c1c2c3c2c22a2 a22813c8c2c8cc'; $s=~s .!(\d\d).'3'x$ 1.eg;$b=pack "H*",$s;$o=1;%b2 c=map {$o++ ,$_}s plit' ',pac k"H*" ,'2f5f2060 27282 90a3c 5c2e7 c';$o =0;pr int$b2c{ve c($b, $o++, 4)}wh ile$o <298 # another substitution, every $/ -- presumably newline, or space # is replaced with $Easter (which is ''), which gets eval'd once # the /e is there purely for Oeufness # # thus basically doing $_ = join '', split m{$/| },$_; =cut s.$/| .$Easter.egg; =head1 C<$_> now contains $s='!162!232338!14c3c!21c3c33832223323222323c2c332222322332322333222c3 +c3232222c853323a31323a25c2c 3533234323a3132ca5332cac33131228c3c2c373c2312c3333c3c3c3c3c3c3c26373c3 +c3c3c33a922a3c8b322312a2c22 c3c3c2c2c3c2c3c22a22c1c2c3c2c22a2a22813c8c2c8cc';$s=~s.!(\d\d).'3'x$1. +eg;$b=pack"H*",$s;$o=1;%b2c =map{$o++,$_}split'',pack"H*",'2f5f20602728290a3c5c2e7c';$o=0;print$b2 +c{vec($b,$o++,4)}while$o<29 8 which you can deconstruct yourself (-MO=Deparse) but basically forms t +he neat ascii-art (see my [crazyinsomniac|homenode] for a link to a generator) _ _ | | | | _ __ ___ _ __| |_ __ ___ ___ _ __ | | _____ | '_ \ / _ \ '__| | '_ ` _ \ / _ \| '_ \| |/ / __| | |_) | __/ | | | | | | | | (_) | | | | <\__ \ | .__/ \_|___ | |_|_| |_| |_|\___/|_| |_|_|\_\___/ | | |_| And finally, the last statement should be fairly obvious (by now anyway) the length of the "pattern" is 59, and that of $_ is 389 and 389/59 is? ;D =cut s&...........................................................&$_&gee

 
____________________________________________________
** The Third rule of perl club is a statement of fact: pod is sexy.