note
Aristotle
Another take.
<code>
use strict;
use warnings;
use constant OFFS => 1 - ord 'a';
use constant BASE => ord("z") - ord("a") + 1;
sub alphabetic_to_base10 {
local $_ = shift;
my $num = 0;
$num = ($num * BASE) + (OFFS + ord $_) for /./g;
return $num;
}
printf "$_: %d\n", alphabetic_to_base10($_) for qw[a z aa az ba zz aaa zba];
__END__
a: 1
z: 26
aa: 27
az: 52
ba: 53
zz: 702
aaa: 703
zba: 17629
</code>
<p align="right"><em>Makeshifts last the longest.</em></p>
270352
270352