Looking at your 3:11 PM version, I'd make a few more changes:
- You split(//,$word) twice, perhaps every time through the while loop. Move them up, prior to looping.
- You have @words, $words, $word, and %word. Below, I ditch the temporary $words, and introduce @chars and %chars.
...
#my $words = @words; # just use (scalar @words)
chomp(my $word = lc($words[int(rand(scalar @words))]));
my @chars = split//,$word;
my %chars = map { $_ => 1 } @chars;
...
while ($turns > 0) {
...
foreach my $char (@chars) { # split not needed
...
else {
#my %word = map{$_=>1}split(//,$word); # not needed
if (exists($chars{$guess})) { # changed %word to %chars
...
Minor update - tweaked my 'foreach' comment
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.