I tried the code and it did not work.
After a little experimenting following code did work.
I added the orignal one liner to the generator to validate it.
The mistakes that I saw were two fold.
First base should have be 26 not 25.
Second the magical text increment behavior is not equivalent to incrementing numbers.
9 goes to 10
z goes to aa not a0
as a result the equivs have to run a-z === 1-26 not 0-25
and the answer offset is 2 not 1.
#!/usr/bin/perl -w
# Convert pseudo-base26 number (digits: a-z) to decimal
# really intended to find the ending number needed in
# the for loop for any given string to be used
my $num = 1; # was $num = 1
my $char = "a";
my $answer = 0;
until ($char eq "aa") {
$equiv{$char}=$num;
$num++; $char++;
}
print "Enter your lowercase string: ";
chomp($string = <STDIN>);
@strArray=reverse(split(//,$string));
for ($i = 0; $i < @strArray; $i++) {
$answer += ($equiv{$strArray[($i)]} * (26 ** $i));
# was 25 ** $i
}
$offset = $answer - 2;
print $offset,"\n";
my $A="a";for(0..$offset){$A++;}print"$A";