Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re: Re: perlapp, die, and __DATA__

by integral (Hermit)
on Apr 25, 2003 at 06:44 UTC ( #253081=note: print w/ replies, xml ) Need Help??

in reply to Re: perlapp, die, and __DATA__
in thread perlapp, die, and __DATA__

Perl passes by alias, so using @_ instead of @ARGV will not prevent worries about modifying the global @ARGV. Options are to make a lexical copy (my @args = @ARGV) or to localise (local @ARGV = @ARGV).

use strict; use warnings; print "1: @ARGV\n"; foo(@ARGV); print "3: @ARGV\n"; sub foo { print "2a: @_\n"; $_[0] = "foobar"; print "2b: @_\n"; }

(Note however that the elements are aliased indivualluy into @_ not the whole array, so if @ARGV is empty there will be no modification as you are then adding a new element to @_ instead of modifying an element in @ARGV through @_.)

integral, resident of freenode's #perl

Comment on Re: Re: perlapp, die, and __DATA__
Select or Download Code

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (3)
As of 2015-10-10 05:49 GMT
Find Nodes?
    Voting Booth?

    Does Humor Belong in Programming?

    Results (254 votes), past polls