in reply to Optional Subroutine Arguments Like in `print FILEHANDLE LIST`

> I would like to create my own subroutines which would work the same way as print FILEHANDLE LIST works.

That's actually just another syntax for FILEHANDLE->print(LIST) a.k.a. "indirect method call".

So creating your own methods would do and

But are you sure you wanna go such exotic ways for just a little syntactic sugar?

IMHO it's better to simply write

and checking if queue() had 1 or 2 args.

Cheers Rolf
(addicted to the 𐍀𐌴𐍂𐌻 Programming Language :)
Wikisyntax for the Monastery

Replies are listed 'Best First'.
Re^2: Optional Subroutine Arguments Like in "print FILEHANDLE LIST"
by eyepopslikeamosquito (Archbishop) on May 28, 2023 at 03:19 UTC
Re^2: Optional Subroutine Arguments Like in "print FILEHANDLE LIST"
by ikegami (Patriarch) on May 31, 2023 at 00:47 UTC

    That's actually just another syntax for FILEHANDLE->print(LIST) a.k.a. "indirect method call".

    It's not. print, as an operator, can have whatever syntax it wants. And while print FH ... looks like an indirect method call, it's not. It's simply the print function/op. This means it doesn't call the print of IO::File or whatever package *FH{IO} is blessed into like FH->print( ... ) does.

    But are you sure you wanna go such exotic ways for just a little syntactic sugar?

    Note that indirect method calls are disabled in v5.36 of the language (i.e. when you use use v5.36;). It's not the time start using them!

      I seem to remember that I was able to overide say in this way, but I can't find the thread anymore.

      Cheers Rolf
      (addicted to the 𐍀𐌴𐍂𐌻 Programming Language :)
      Wikisyntax for the Monastery