Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re^3: why does push not default to $_?

by toolic (Bishop)
on Dec 04, 2008 at 21:51 UTC ( [id://728116]=note: print w/replies, xml ) Need Help??


in reply to Re^2: why does push not default to $_?
in thread why does push not default to $_?

push @a;
It is syntax which will compile, but it does generate a warning. Can you show an example of where this would be used?
use strict; use warnings; use diagnostics; use Data::Dumper; my @a = 1..3; push @a; print Dumper(\@a); __END__ % ./728108.pl Useless use of push with no values at ./728108.pl line 9 (#1) (W syntax) You used the push() or unshift() function with no argum +ents apart from the array, like push(@x) or unshift(@foo). That won't usually have any effect on the array, so is completely useless. It +'s possible in principle that push(@tied_array) could have some effec +t if the array is tied to a class which implements a PUSH method. If + so, you can write it as push(@tied_array,()) to avoid this warning. $VAR1 = [ 1, 2, 3 ];

Replies are listed 'Best First'.
Re^4: why does push not default to $_?
by LanX (Saint) on Dec 04, 2008 at 21:56 UTC
    Toolic, we perfectly know it's not implemented, we meditate WHY it's not implemented!

    Here a simple usecase:

    for (1 .. 100) { next if $_%2; push @even; }

    Cheers Rolf

    UPDATE...PS: Thanx for the interesting link to Builtin functions defaulting to $_
      hmm. i think most people would write that usecase w/grep ...
      push @even, grep { !($_%2) } 1 .. 100;
      (i guess there could be other stuff going on in the loop, but then it's more likely that $_ would be named..
        Actually I was thinking the same thing, when I wrote it! : )

        As I said, it's just a *simple* usecase. But if you want to push to several arrays in the same loop, it may be handy!

        Anyway it's not that I'm terribly missing one-parameter push, I just want to understand the underlying idea! And maybe be able to predict in which cases I can use default parameter without looking it up.

        Cheers Rolf

Re^4: why does push not default to $_?
by ikegami (Patriarch) on Dec 04, 2008 at 21:58 UTC
    You wouldn't use such a construct. It just showed that your statement wasn't true. So whatever point you were trying to get across was even more lost to me.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://728116]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (2)
As of 2024-04-26 05:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found