ScrabbleScore.pm (617B) - raw
1 package ScrabbleScore; 2 use strict; 3 use warnings; 4 use Exporter qw<import>; 5 our @EXPORT_OK = qw<scrabble_score>; 6 7 sub scrabble_score { 8 my ($word) = @_; 9 my $score = 0; 10 my %letter_value; 11 $letter_value{ $_ } = 1 foreach (qw( A E I O U L N R S T )); 12 $letter_value{ $_ } = 2 foreach (qw( D G )); 13 $letter_value{ $_ } = 3 foreach (qw( B C M P)); 14 $letter_value{ $_ } = 4 foreach (qw( F H V W Y)); 15 $letter_value{ K } = 5; 16 $letter_value{ $_ } = 8 foreach (qw( J X )); 17 $letter_value{ $_ } = 10 foreach (qw( Q Z )); 18 $score += $letter_value{ uc $_ } foreach ( split //, $word ); 19 return $score; 20 } 21 22 1;