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

Inspired by some of the really interesting and sometimes amazing ideas I've seen in other threads, here's my first attempt at doing this kind of thing...
use warnings;use strict;my $c=" 1#3#4#5#6#7#8#9#10#11#18#25#29# 34#35#36#37#126#127#128#130#133 #134#243#250#251#252#253#254### 257#135#136#137#138#139#145#146 #149#150#154#";my @l=split" "," 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 @hidden_words_to_find =qq( PERL, USESTRICT, ARRAY, PERLMONKS, LENGTH, WHILE, FOREACH, MODULUS, CPAN, SUBROUTINE, PRINT, SCALAR, REGEX, IF, ELSE, WARN, );$c.="38#40#45#52#54#55#59#235 #72#73#74#75#76#77#82#85#89#93# 98#100#104#114#115#118#119#125# 159#164#166#168#169#170#171#175 #179#182#186#190#191#193#194### 195#196#197#198#200#205#207#211 #214#217#220#223#227#234#61#70# 16#15";$c=~s/##//g;my @k= split "#",$c;@k=sort{$a<=>$b}@k;for(0 ..$#l+1){if($k[0]and$k[0]==$_){ print $l[$_-1];shift@k;} else { print" ";} print" ";print"\n " if$_%16==0;}print"\n";exit;#jeb


Critiques appreciated!

Replies are listed 'Best First'.
Re: Word Search
by ktross (Deacon) on Jun 09, 2005 at 18:34 UTC
    First off I'd like to say that I find the layout of the code visually pleasing something about it helps me find my Zen place. Also I'm amazed at your ability to write psychic code. You can completely remove the list of hidden words and the script still manages to find all the important bits in the word puzzle. :) This revelation dulled my amazement at how fast the code ran. Still, I like it.


    Spem Successus Alit
Re: Word Seek
by Smylers (Pilgrim) on Jun 13, 2005 at 10:46 UTC

    Nice!

    The solution also seems to include these words which aren't in @hidden_words_to_find: BLESS, EXIT, HASH, JAPH.

    Smylers

      ++ for working the puzzle! I was wondering if anyone would find those. ;)
Re: Word Seek
by salva (Abbot) on Jun 13, 2005 at 11:02 UTC
    using a bit vector to store the solution would be more efficient ;-)
      Thanks for the tip! I made the grid 16x16 in hopes of finding a more elegant way to hide those using some kind of hex trickery. I'll read up on your suggestion!