Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: shift vs @_

by shmem (Chancellor)
on Oct 02, 2006 at 19:33 UTC ( #575932=note: print w/replies, xml ) Need Help??

Help for this page

Select Code to Download


  1. or download this
        # 1. non-destructive
        my $var = $_[0];                      # first element of @_
    ...
        # 2. destructive
        my $var = shift;                      # first element gets removed
    + from @_
        my ($foo, $bar) = map { shift } 1,2;  # two elements get removed f
    +rom @_
    
  2. or download this
    sub foo {
        my $foo = $_[0];
        my $quux = baz(@_)
        return $foo ^= $quux;
    }
    

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://575932]
help
Chatterbox?
[choroba]: it's a long running test, so it's normally skipped unless an env var is set
[choroba]: nobody has been bothered to set the variable in the last 3 years
[marinersk]: sub newtest{my $expected_result = &target('foo'); my $actual_result = &target('foo'); if ($actual_result eq $expected_result) { &tdd_success(); } else { &tdd_fail(); } } # Test works after three years!
[choroba]: or nobody bothered...
[choroba]: The problem was bigger, as the test tried to call a method that didn't exist anymore
[marinersk]: :: ducking ::
[choroba]: because, someone renamed the method, but didn't notice it was used in the test, as the test was skipped
[marinersk]: Well, if the method doesn't exist, it would be hard to pass the test.
[choroba]: later, someone removed the new method, as all its usage places were safe, but didn't notice the test still used the old name
[choroba]: fortunately, it wasn't that hard to replace the method and fix a few remaining failures due to the changes we did to the codebase over the years

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (14)
As of 2017-05-25 15:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?