Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^3: Decimal Array range

by bart (Canon)
on Dec 22, 2010 at 12:12 UTC ( #878493=note: print w/ replies, xml ) Need Help??


in reply to Re^2: Decimal Array range
in thread Decimal Array range

In foreach, the loop variable (default $_) is an alias to the original value. That means that changing the value will change the original.

my $x = 100; my @y = (10, 20, 30); foreach ($x, @y) { $_ *= 2; } local $" = ", "; print "\$x = $x\n\@y = (@y)\n";
# or: foreach my $n ($x, @y) { $n *= 2; }

Ditto in the block or expression for map and grep ($_ only).

map { $_ *= 2 } $x, @y;
grep { $_ *= 2 } $x, @y;

BTW parameters to subs are aliases too, so if you change them in @_, you'll modify the originals too:

sub double { foreach(@_) { $_ *= 2; } } double($x, @y);


Comment on Re^3: Decimal Array range
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (3)
As of 2014-08-30 21:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (294 votes), past polls