Restrictions:
use strict; use warnings; my @hidden_words_to_find = ( 'PERL', 'USESTRICT', 'ARRAY', 'PERLMONKS', 'LENGTH', 'WHILE', 'FOREACH', 'MODULUS', 'CPAN', 'SUBROUTINE','PRINT', 'SCALAR', 'REGEX', 'IF','ELSE', 'WARN', 'BLESS', 'EXIT','HASH', 'JAPH', );$_=' P X U S E S T R I C T G L A F I I E E R Z I A P S Z R E E A W N X A R R A Y E K E D J D L D F J D F S L W M N C J C E R I C E R U H F C M O N L E N G T H I D O M R X H M H Z W I E R X W A S D H E Y L C E S T R V H W D E W Q E G R X W M U A D F E G E L S E C E M J F O R E A C H T R H E C P X U H R D T Y R P Y N B X P B W C B B Z U E N R A W A C V R E D F U V D L S A C N B V Y A I T S S E L B U B H E W S D L N N D A D X G E S F K S J G A R T T F F G I E B N S B Z A C W Q U E A S D T G A E R N N S H P A J Q D ';my $a=q(s;\n;;g;s# ##g;@_=spl it(//,$_);my$i=0;for(@_){($i%16 eq 0)?(print $/):();print,prin t ' ';$i++}for my$word(@hidden_ words_to_find){my$m=$word;my$g= $m;$g =~ tr~A-Z~a-z~;my$gi='s/' ."$m".'/'."$g".'/gi';eval$gi;my @m=split(//,$m);my @g=split(// ,$g);$gi='s/';for($i=0;$i<(@m-1 );$i++){$gi.="$m[$i]".'(\w{15}) ';}$gi.="$m[$i++]".'/';for($i=0 ;$i<(@g-1);$i++){my$j=$i+1;$gi. ="$g[$i]".'$'."$j";}$gi.="$g[$i ++]".'/gi';eval$gi;@m=split(//, $m);@g=split(//,$g);$gi='s/';fo r($i=0;$i<(@m-1);$i++){$gi.="$m [$i]".'(\w{16})';}$gi.="$m[$i++ ]".'/';for($i=0;$i<(@g-1);$i++) {my$j=$i+1;$gi.="$g[$i]".'$'."$ j";}$gi.="$g[$i++]".'/gi';eval$ gi;$gi='s/';for($i=0;$i<(@m-1); $i++){$gi.="$m[$i]".'(\w{14})'; }$gi.="$m[$i++]".'/';for($i=0;$ i<(@g-1);$i++){my$j=$i+1;$gi.=" $g[$i]".'$'."$j";}$gi.="$g[$i++ ]".'/gi';eval$gi;@m=reverse(@m) ;@g=reverse(@g);$gi='s/';for($i =0;$i<(@m-1);$i++){$gi.="$m[$i] ".'(\w{16})';}$gi.="$m[$i++]".' /';for($i=0;$i<(@g-1);$i++){my$ j=$i+1;$gi.="$g[$i]".'$'."$j";} $gi.="$g[$i++]".'/gi';eval$gi;$ gi='s/';for($i=0;$i<(@m-1);$i++ ){$gi.="$m[$i]".'(\w{14})';}$gi .="$m[$i++]".'/';for($i=0;$i<(@ g-1);$i++){my$j=$i+1;$gi.="$g[$ i]".'$'."$j";}$gi.="$g[$i++]".' /gi';eval$gi;$gi='s/';for($i=0; $i<(@m-1);$i++){$gi.="$m[$i]".' (\w{15})';}$gi.="$m[$i++]".'/'; for($i=0;$i<(@g-1);$i++){my$j=$ i+1;$gi.="$g[$i]".'$'."$j";}$gi .="$g[$i++]".'/gi';eval$gi;$m=j oin"",@m;$g=join"",@g;$gi='s/'. "$m".'/'."$g".'/gi';eval$gi;}pr int $/;s;[A-Z]; ;g;@_=split"",$ _;$i=0;for(@_){($i%16 eq 0)?(pr int $/):();print,print ' ';$i++ });$a=~ s;$/;;g;eval$a; __END__
Update: Corrected the array->arrax bug. Well spotted Monarch!
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Word Seeker
by monarch (Priest) on Jun 16, 2005 at 07:53 UTC | |
by ktross (Deacon) on Jun 16, 2005 at 12:55 UTC | |
Re: Word Seeker
by kaif (Friar) on Jun 22, 2005 at 08:21 UTC | |
by ktross (Deacon) on Jun 22, 2005 at 14:23 UTC |