message to keep the
: threads apart: this message is about 'say'.
:
: The definition of 'say' is very simple:
:
: say foo
:
: is exactly equivalent to
:
: print foo, \n
:
: and that's just the way it works in Perl 5.9.3. In fact,
: that's how it's compiled. A few people on p5p have expressed
IMHO, people who set $/ are, by definition, saying that they expect
lines to terminate with something other than a newline; they should
expect 'say' to conform to their wishes. I don't like the notion of
perl second-guessing the programmer's intentions here; Do what I
mean, not what I say only
One more data point?
I might want a newline or I might want an ORS. The former, say()
gives me. The latter, print() provides.
I cannot imagine ever wanting a mixture of those, and if I ever do,
I expect I'll prefer to say what I mean:
# modulo syntax:
{ temp ORS //= \n; print @args
On 2/8/06, Larry Wall wrote:
From: Damian Conway [EMAIL PROTECTED]
I've now been using Csay (via Perl6::Say) for some time -- testing our
collective intuition on this -- and it turns out that b. isn't the least
surprising. At least, not to me. In fact, I am regularly (and annoyingly)
Larry Wall skribis 2006-02-08 8:38 (-0800):
It would be nice to have other data points
I associate say with to-human communication, and there, I don't
generally have records. Without records, no ORS.
However, while I think that say should not be
print.assuming(:ors(\n)), it shouldn't be print
At 21:30 +0100 2/8/06, Juerd wrote:
Larry Wall skribis 2006-02-08 8:38 (-0800):
It would be nice to have other data points
In the Macintosh world:
1) say is a reserved word in AppleScript that sends text to a speaker (with
windings and a cone).
2) We are forever mucking with $/ and $\ set
'.
The definition of 'say' is very simple:
say foo
is exactly equivalent to
print foo, \n
and that's just the way it works in Perl 5.9.3. In fact,
that's how it's compiled. A few people on p5p have expressed
some disquiet that
say foo;
will print the string foo$,\n$\. I'm inclined to agree