use strict;
use warnings;
my %pay = ( A => 1, F => 4, K => 5, P => 3, U => 1, Z => 10,
B => 2, G => 2, L => 1, Q => 10, V => 4,
C => 3, H => 4, M => 3, R => 1, W => 4,
D => 2, I => 1, N => 1, S => 1, X => 8,
E => 1, J => 8, O => 1, T => 1, Y => 4
);
my $word;
my @word;
print "Enter word to calculate.\n";
print "\nPress 'q' to quit\n";
while (){
my $total_points = 0;
print "\nWord: ";
chomp ($word = uc(<STDIN>));
die "Quiting program...\n" if ($word eq 'Q');
foreach my $letter (split("", $word)){
$total_points += $pay{"$letter"} if defined $pay{"$letter"} ;
printf "Letter \"%s\" = %d points. Total points: %d\n", $lette
+r,$pay{"$letter"}, $total_points;
}
}
Output:
Enter word to calculate.
Press 'q' to quit
Word: test
Letter "T" = 1 points. Total points: 1
Letter "E" = 1 points. Total points: 2
Letter "S" = 1 points. Total points: 3
Letter "T" = 1 points. Total points: 4
Word: q
Quiting program...