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

=head1 TITLE

More defaulting to C<$_>.

=head1 VERSION

    Maintainer: Kenneth C. Rich <[EMAIL PROTECTED]>
    Date: 12 Sep 2000
    Mailing List: [EMAIL PROTECTED]
    Number: 215
    Version: 1
    Status: Developing

=head1 ABSTRACT

$_ is the default variable for some operations.
Some other operations might benefit from similar use of
$_ to reduce clutter.

=head1 DESCRIPTION

An inconsistency between "C<print>" and "<>" bugs me:  "C<print;>" means
"C<print $_;>" so it seems like "<>" should mean "C<$_ = > <>".
I can't yet think of code that this extension would break.

Would this have an advantage in making the

 while( <> ) {
 }

syntax less magical?

Actually, some days I wish "print;" meant print nothing.  I was tempted
to title this RFC "Make print and <> consistent."

I also would like making "push;" mean "push( @_, $_ );" and "pop;" mean
"$_ = pop;" but I B<can> think of code this would break.  The same 
wish and problem applies to other list operators.  But maybe the problems
are easily fixed with the 5-to-6 converter changing perl5 "pop;" into
"undef = pop;" etc.  Which ugliness is more preferable?

"gethostbyaddr;" could use $_, and so on.

Parts of this proposal may work nicely with 
RFC 170: "Generalize =~ to a special-purpose assignment operator".

=head1 IMPLEMENTATION

...

=head1 REFERENCES

RFC 2: Request for new pragma: Implicit

RFC 51: Angle brackets should accept filenames and lists

RFC 56: Optional 2nd argument to pop() and shift()

RFC 170: Generalize =~ to a special-purpose assignment operator

Reply via email to