On Thu, 17 May 2001, David Cantrell wrote:
> EINSUFFICIENTLYSPECIFIEDPROBLEM :-)
Probably. Here's my solution, and I can't see any obvious way of making
it smaller. Suggestions?
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my %scores = ( Adams => 78,
Davies => 35,
Fowler => 78,
Edwards => 84,
Thomas => 47,
);
my %results;
my @x = sort {$scores{$b} <=> $scores{$a}} keys %scores;
my $i = 1;
while (@x)
{
my $delta = 0;
my $current;
do
{
my $name = shift @x;
$current = $scores{$name};
$results{$name} = $i;
$delta++;
} while (@x && $current == $scores{$x[0]});
$i += $delta;
}
print Dumper \%results;
--
mark fowler, bad at perl at 6pm in the evening.