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

$c=$=;$=/=$-=@_=qw(Nothing to hide);($m=$-)++;$c+=$-*$m; while (<DATA>){ s#(sub)$#\1 #; chop && $. < $- ? $x : $t .= $_; $. > $= && last; } $!=$%;$-=$=;($%=$=-=$=)++; $.=~s[2][join $\, map {$$_[$%]} sort{$$a[$!] <=> $$b[$|]} map{[(map{unpack("c*",pack((pack"c",$c)."*",$_))} $x =~ /(..)/g)[$=++],$_]} $t =~ /(.{$-})/g]seeme; __DATA__ 0f1623020c2127042e12071f19202f290a1510333236353109081a25 1d000d24050611171c1b0314300b2637132a2d2b2c28340e22181e01 ","BMSFBEZ QMBZFE:" / /,$_;$c=@ww;$wd=l <",keys %ls,">\n$mg " " x $1/e for@pc;(@"","","a");@xmg=("ZP"$mg[0] ($wd)\n";exi "$mg[3] $x"}elsif($l"12O22|21/23\\31/33\";dw(6);exit;}}else{ "ifcseujmtaqybnzdwgv$_="21\\22O23/32|41/$_}@xmg;while(1){dw( $_}}split //,$wd;$gs$er);if($er>5){print$er++}$ls{$x}++}sub $x"}elsif($wl{$x}){f)/g;($er,$wd,$gs,$ms);s/\n/ /g;@ww=split ,"ZPV XPO!");%grbl=m,1)=$cp[$_-1][2]}sys-1][0]],$cp[$_-1][1] /,@p,$/;if($msg){pri/linux/;print join $0]){substr($p[$cp[$_ 2,$3]while /(.)(.)(.43\\";push@wcp,[$1,$="-" x length($wd);$ =lc($1)if$x=~/(\w)/;@mg=map{tr/[b-z]/[a-@pc=qw(2+--+ 5| 5| 5 V MPTU","vtfe:","hvf[2]";chomp($x=<>);$x\";push@cp,[$1,$2,$3 ]while /(.)(.)(.)/g;ap{$_,$A++}split //,c($ww[rand($c)-1]);$ c++for split //,$wd;c=0;push@{$wl{$_}},$cp,@wcp)=((),());$_= def;$_=<DATA>}srand(dw{@p=@pc;for(1..$_[g,$A,%ls,%wl)=(0,"", if($x!~/^\w$/){$msg=nt"$msg$/";$msg=""}}okxphlr";{local$/=un or(@{$wl{$x}}){substp;$msg="$mg[5] ($gs)r($gs,$_,1)=$x}unles s($gs=~ /-/){@cp=@wcs{$x}){$msg="$mg[4] tem("clear")if $^O=~ tt: ","JOWBMJE JOQVUt}print$gs,"\n$mg[1]wd=join"",map{$grbl{ y]/;tr/[B-Z]/[A-Y]/;| 5| -----+);s/(\d)/ ifgzjioe icczbbzsiotzn ico isgzto iuugtcioe itb iydtne ibnevol incteno innky idzomecigl iddgzdgtiotzn iggitjn ivvtbtyioe iozyy ikgezblctn ihtzb fivq femzzxe fevzooes ftbzsiy fyisseg fyktvm fzkuuino fgtne fkgeik ciqe cikotzn cminseyteg cmyzgzdmlyy ctgckyioe cyip cykocm czyyig czbbkoiotxtol czbdgemenvtftytol czggtjensi cgib cgtbe ckf cko seiczn secyigiozg seutye seytxeg segejkyioe sevotokoe stibeogtc stviftytol stvzfesteno stvvzctioe szcogtne sgivotc skbbl eccenogtc eyidve ebfeyytvm encyzve envtjn edtoidm evvence ehib ehtye ehdgevvtzn uitn uebtntne utuoteom uytno uzkno ugkto jigbeno jezyzjtvo jytno jzvvtd jgeio jkevves migyzo metg mzffl mzxeg tsei tbbtjgino tncigcegioe tncznogzxegotfye tnstjevotzn tnehmikvotfye tnjenktol tnvintol tnvkuutcteno tnogicoifye tnxzciotzn tvzbzgdmtc azckns qeen qziyi yixi yextol ytd yzge bice bibi bilzg begcinotye btyq btvgedgevenoiotzn bznivoegl bzgoig bkgseg nigl nedmep nzzsye zfel zcoijzn zdictol zgjl dictutvb desiy dmlvtc dyits dzcqeo dzgdztve dgectdtoioe dgebteg dgtse dkgtutes gifft geico gectdgzciy gecokb gejtvogig geytnq gezden gedgzjgib gevznioe geogteg gmidvzsl gzzq vicgibeno vintoigl vcmzzneg vecese venvzg vmiql vmgtne vtnuky vyts vnige vzytcto vdeig vdzko voiye votjbi vogid vokn vkddyino vpiyyzp vlbdzvtkb oipnl oeggtozgl omkvyl ozgbeno oginvyiotzn ogtcmzozbl okbkyo kjyl knftns knseutnes knuzgoknioe knyifeyyes kndgzaecoes knvoifye kdyzis xiykifye xeginsi xtnstcioe xzoe peyuige lipn
You may want to run it several times ... :)

update Spoiler available
update small change to fix broken compatibility introduced in 5.8.4.
 _  _ _  _  
(_|| | |(_|><
 _|