use strict; my $info = "I am a brown icecube"; (my $unknown = $info) =~ tr[a-zA-Z][*]; until($info eq $unknown) { print "guess a char: "; chomp(my $input = ); my $c = substr $input => 0, 1; next if $c !~ /[a-z]/i or index($info => $c) == -1; substr($unknown => pos($info) - 1, 1) = $c while $info =~ /$c/g; print $unknown, $/; }