This and other RFCs are available on the web at
  http://dev.perl.org/rfc/

=head1 TITLE

Perl should have a print operator

=head1 VERSION

  Maintainer: Jon Ericson <[EMAIL PROTECTED]>
  Date: 5 August 2000
  Last-Modified: 17 August 2000
  Version: 2
  Mailing List: [EMAIL PROTECTED]
  Number: 39

=head1 ABSTRACT

Perl supplies an operator for line input - angle brackets.  This is no
analogous operator for output.  I propose "inverse angle brackets":

    >"Print this line.\n"<;

=head1 DESCRIPTION

=head2 Easy things should be easy

Output is already easy in Perl, but it could be easier.

=head2 Symmetry

readline is to angle brackets as print is to inverse angle brackets. 
C++ uses >> for input and << for output.  Perl uses <> for input and ><
is for output.  I sometimes see C<< print ">$x<\n"; >> used as a
debugging tool.  

=head2 Perl Golf and JAPHs

    perl -e 'print "Just Another Perl5 Hacker"'

    perl -e '>"Just Another Perl6 Hacker"<'

    perl -e '><><' # cat(1) 

    perl -e 'while(<>){>< if /^=head1/)' # Print the pod section titles

=head2 Other symbols

The only comment this RFC has had so far is "Ick!" -- Jonathan Scott
Duff <[EMAIL PROTECTED]>  I agree - inverse angle brackets won't
improve Perl's reputation as an ugly language.  Maybe I will get used to
them (and if I won't no-one will).  Or maybe not.  Perhaps the print
operator should be:

    p(LIST)

so that other delimiters could be used.  Or we could hijack:

    ?LIST?

=head1 IMPLEMENTATION

Let:

    >LIST<

be equivalent to:

    print(LIST)

Output always goes to the default output channel.  (print is still there
if you want it.)

Note the ambiguous cat(1) example above.  Are there other potential
problems parsing this print operator?

=head2 Migration from Perl 5

Inverse angle brackets are currently a syntax error, so no translation
will be needed.

=head1 Changes

=over

=item v2

Changed title
Added other symbols section
Added migration section
Added RFC 51 reference

=back

=head1 REFERENCES

RFC 2: Request For New Pragma: Implicit

RFC 34: Angle brackets should not be used for file globbing

RFC 51: Angle brackets should accept filenames and lists 

perlfunc/print

perlop/"I/O Operators"


Reply via email to