> I loathe the indirect object syntax.

Well that makes one of us! ;-)

> Easy. Put them in a subroutine:
> 
>         sub format1 { format $template1, @data };
>         sub format2 { print STDERR format $template1, @data };
>         # etc.

Gag! Cough! Ack!  :-}

Not trying to be mean, but this doesn't make things easy. As I mentioned
in my previous email, being able to say:

   write STDOUT;

is a *benefit*. It seems your proposal is 90% of the way there if it
just followed suit with the other commonly-used printing functions:

   print $STDERR @stuff;
   printf $STDERR $fmt, @stuff;
   format $STDERR $fmt, @stuff;

Looks pretty consistent to me, and makes things easy too.

Either that, or drop the printing in a void context altogether, and just
tell people they have to say

   print format $fmt, @stuff;

Which I'm ok with too. But partially supporting printing, only to the
default filehandle, I don't think is a good idea. You're gonna end up
with lots of nasty code that way, which this RFC would otherwise
prevent.

-Nate

Reply via email to