in reply to using map with compound code blocks to alter strings: a strange result

In the case of "FALSE", the block is returning the value of the last expression evaluated. That was /FALSE/, which is true (i.e., 1).

What you might want to do is something like this:

@strings = map { /FALSE/ ? $_ : qq{"$_"} } @strings;