in reply to Challenge: Letter Power

I don't see how you're going to program Perl to come up with US States when US States are required by the question and flowers when flowers are required and so on.

Given a list of flowers, the algorithm to find which scores highest in your game should be something like:

sub calculate_score { my $word = shift(); my $score = 0; my %letter_value = (); my @letters = split( '', $word ); foreach ( @letters ) { if ( defined( $letter_value{$_} ) ) { $letter_value{$_} = $letter_value{$_} * 2; $score += $letter_value{$_}; } else { $score += 1; $letter_value{$_} = 1; } } return $score; }

Which assumes that each letter is worth 1 the first time you use it, 2 the second time, 4 the third and so on. it gives me a score of 18 for "alabama" and a score of 47 for "lillipilli".

But as I say, I don't know how you get your lists of words in the first place.



($_='kkvvttuu bbooppuuiiffss qqffssmm iibbddllffss')
=~y~b-v~a-z~s; print