#!/usr/bin/env perl use 5.010; use strict; use constant LIMIT => 8; my $word = uc "hello"; my $wrong = 0; my $already = ''; my $displayed; while ($wrong < LIMIT) { $displayed = join '', map { m{ ^ [ $already ] $ }x ? $_ : '*' } split '', $word; if ($displayed eq $word) { say "Yeah, baby, yeah!"; exit(0); } say "Word: $displayed", say "Wrong guesses: $wrong"; print "Please guess a letter... "; chomp(my $guess = <>); $already .= ($guess = quotemeta uc $guess); $wrong++ unless $word =~ m{ $guess }x; } die("Dude, it was '$word'\n");