samanda seems to be an unquoted string, and therefore always true aah which will get optimized away so there's no if(){} at all in the deparsed result work like you want for me, with the space affter s with the space after it, it'll be interpreted as s/m/nd/ space is only optional for a non-whitespace non-alphanumeric character I thought the separator/ delimiter rules of s/// would take precidence, but I guess that was stupid :-) (afaik, you can't use whitespace as a delimiter in current versions anymore) booradley: if the space were optional, it'd be a regex, but the space can only be left out for non-alphanumeric characters