source code for "files/pe/pe_022.pl"
return to portfolio
- #!/usr/bin/perl
- use strict;
- use warnings;
- use necessary;
- open FILE, "files/names.txt";
- my $str = '';
- my (@lis, %scores, $k, $sum);
- sub name_score {
- my ($name, $pos, @rest) = @_;
- my $sum = 0;
- $sum += $_ for (map { ord($_)-64 } split //, substr $name, 1, length($name)-2);
- return $pos*$sum;
- }
- $str = $_ while (<FILE>);
- @lis = sort split(/,/, $str);
- $sum = 0;
- for (1..scalar @lis) {
- $k = shift @lis;
- $sum += name_score($k, $_);
- }
- print $sum;
- close FILE;