#!/usr/bin/perl use strict; use warnings; die "Usage: $0 DICTIONARY LIMIT\n" unless @ARGV == 2 and -e $ARGV[0] and $ARGV[1] =~ m/^\d+$/; my($file, $limit) = @ARGV; my $word; open DICTIONARY, $file or die "File error: $!"; while () { chomp; $word = $_ if rand($.) < 1; } close DICTIONARY; (my $puzzle = $word) =~ tr/A-Za-z/_/; until ($puzzle eq $word or $limit == 0) { print "Guesses: $limit, $puzzle, letter? "; my $letter = ''; chomp($letter = ) until $letter =~ m/^[A-Za-z]$/; $limit-- unless $word =~ s/($letter)/substr $puzzle, pos($word), 1, $1; $1;/ige; } print "$word\n", $puzzle eq $word ? "LIFE!\n" : "DEATH!\n"; __END__ Thanks for the fun Quiz, Marco. James