"Mr. Nobody" <[EMAIL PROTECTED]> writes: > --- Michael Lazzaro <[EMAIL PROTECTED]> wrote: >> >> On Friday, January 17, 2003, at 11:00 AM, Simon Cozens wrote: >> > [EMAIL PROTECTED] (Michael Lazzaro) writes: >> >> ...the absence of the commas is what's special. If they were normal >> >> functions/subroutines/methods/whatever, you would need a comma after >> >> the first argument >> > >> > This is plainly untrue. See the "perlsub" documentation, which talks >> > about >> > "creating your own syntax" with the & prototype. You can do all this in >> > Perl 5, and it saddens me that some of the people redesigning Perl >> > don't >> > know what Perl can do. >> >> No. I said it was _special_, not _impossible_. You're "creating your >> own syntax" -- that's exactly my point. C<map>, etc. are using an >> invocation syntax _slightly_ different from the vast majority of other >> cases -- one that skips a comma. Yes, it's a special case that exists >> because of the prototype and the special case caused by '&', which is a >> special case precisely so that there can be *any* way to emulate the >> special case C<map> syntax. But whether we like the perl5 C<map> >> syntax or not, we should at least recognize that it's not regular. > > The & syntax is going to be special no matter what. It has the power to turn > a bare block into a subref: > > sub foo ($x) { } > sub bar (&x) { } > foo { }; # hash > bar { }; # sub
Have you been reading the Apocalypses? Both of those are blocks, as discussed in (I think) Apocalypse 2.