c:\@Work\Perl\monks>perl -wMstrict -le "for my $s (qw(Y Z AA ZY ZZ AAA ZZY ZZZ AAAA)) { my $t = $s; printf qq{'$t' -> }; $t++; print qq{'$t'}; } " 'Y' -> 'Z' 'Z' -> 'AA' 'AA' -> 'AB' 'ZY' -> 'ZZ' 'ZZ' -> 'AAA' 'AAA' -> 'AAB' 'ZZY' -> 'ZZZ' 'ZZZ' -> 'AAAA' 'AAAA' -> 'AAAB'