in reply to Re^2: Is there a way to emulate 'print' using prototype?
in thread Is there a way to emulate 'print' using prototype?

The indirect object calls allow you to omit the comma, but they are indirect object calls and you can't omit the object (the file-handle, in this case).

I already mentioned indirect method call and its numerous limitations. The one you identified is easily worked around.

The only way I know of to change perl's syntax, which is what you're asking, is with a source filter

I've mentioned another in the post to which you replied, and another in this post.

If you say that this isn't changing the syntax (look at print), I'd say that print is a builtin, and thus its special handling is (by definition) part of the syntax

No, it's not part of the definition of builtins that they have special parsing rules.

  • Comment on Re^3: Is there a way to emulate 'print' using prototype?

Replies are listed 'Best First'.
Re^4: Is there a way to emulate 'print' using prototype?
by thargas (Deacon) on May 20, 2011 at 12:25 UTC

    How would you work around the missing file-handle on the indirect call? How do you do an indirect method call on an object that isn't there?

    Sorry. I missed Devel::Declare. It looks interesting, though complex and incompletely documented.

    I grant you that my comment on special syntax was wrong, and I retract it.

      Follow the link

        If you mean the link to Devel::Declare, I wouldn't consider that an easy way to work around it. The docs for it aren't sufficient for me to do other than flail around trying different things, hoping that it will work. Other packages based on it, like MooseX::Declare, look much more interesting.

        If you mean something else, I don't follow.