in reply to Re^2: difference between @array."\n" and @array "\n"
in thread difference between @array."\n" and @array "\n"

"stringifies @array"? No!

It stringifies the result of @array.

To be fair, "stringifies @array" could mean "stringifies the result of @array", but most people think of "@array" as a variable rather than code. Clarity is definitely lacking.

The concat operator evaluates its operands in scalar context, to which @a responds by returning the number 3. The concat operator then stringifies that value.

Replies are listed 'Best First'.
Re^4: difference between @array."\n" and @array "\n"
by LanX (Saint) on Aug 27, 2009 at 22:17 UTC
    Stringification is defined as

    The process of producing a "string" representation of an abstract object.

    and "3" is for sure no representation of @array.

    The important point to learn is that most operators enforce scalar context of the operands, IMHO the stringification of +3 to "3" is in this case of small importance ...

    Just want to clarify the terminology, before people start to think that stringification enforces scalar context!

    Cheers Rolf