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";
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.