http://qs321.pair.com?node_id=357386

print ("$0 [-h] [-o] [-v] dictfile tries\n\t-o allows original game rules\n\ +t-v shows helpful in", "fos\n")&&exit if $ARGV[0 ]eq'-h'or 2>@ARGV;$ n=$v=1,shift if $ARGV[ 0 +]eq'-vo'or$ ARGV [0]eq '-ov';$v=1,shift if$ARGV[0]eq'-v';$n= 1,shift if$ARGV [0]eq'-o';$v=1,s +hift if$ ARGV[0]eq'-v' ;open I,$ ARGV [0]or die 'n'. 'o '. 'd'. 'i'. 'ct'. 'i'. 'o'. 'na'. 'r'. 'y'. " '".$ARGV [0]. "' fo". "u".'nd ' .'('. "$!)";@w=<I>; chomp ($w=$w[int rand @w]); $t=$ARGV[01]; while (07){%S=(); %T=() ;if (join ('' ,grep {!$S{$_}++}sort split (//,$w))eq join('',gre +p{ ! $T{ $_}++}sort(split //,$g) +)){ print "\tLIFE!\n";exit;}last if +! $t; print "\t",(map{(index($g,$_)>= +0)?$_ :'_'} split(//,$w)),($v?" ($t " +.($n? 'wro' .'ng ':'').'guesses left +[gue' .'ss' .'ed:'.$g.'/'.$f.'])':'') +,"\n" ;$i = substr<STDIN>,0,1;--$t if! +$n;if( index ($w,$i)>=0){--$t if$n&&inde +x($g,$i )>=0; $g.=$i;}else{--$t if $ +n; $ f.= $i;}}print "\tDEA" ,"TH" ,"!\n";print"the " ,"So" ,"lution was $w\n" if$v; # Copyright 2004 #by C hristian Duehl. Al #l ri ghts reserved. Thi #s pr ogram is free soft #ware . You can redistri +b #ute# it and/or m odify it + un #der# #the# #same #term #s as #perl itself.