in reply to Forcing array context

There is hardly any relationship between $string and @string. It isn't that if you use $string in list context that is somehow becomes @string. Instead, $string in list context just gives you a list of one element, $string being the element.

If you want to process the characters one by one, the standard idiom is to use:

foreach my $ch (split // => $string) { .. }

However, you put yourself under the restriction of not wanting to use regexes. Without specifying why. That's fine by me, but if you like to solve artificial puzzles, have fun on your own!

Abigail