in reply to "map" sometimes uses only the last mapped value
I really don't understand how this could happen. turo's answer has reminded me to Aliasing bites, but I can't see how that could happen here, as the statement my ($f) = @_ copies the string passed.
In Section
Seekers of Perl Wisdom