#!/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 (<DICTIONARY>) {
	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 = <STDIN>) 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

