Let us see some examples where every element of an array has to be added by 10:
1. Array elements get updated when updating $_:
#!/usr/bin/perl use warnings ; use strict ; $\="\n"; my @arr=(5..8); print "@arr"; foreach (@arr){ $_+=10; } print "@arr";This snippet when run outputs:
5 6 7 8 15 16 17 18As seen above, just by updating the $_, the array elements get updated automatically.
2. Array elements get updated even when using the holding variable:
#!/usr/bin/perl use warnings ; use strict ; $\="\n"; my @arr=(5..8); print "@arr"; foreach my $x (@arr){ $x+=10; } print "@arr";Instead of using the special variable $_, this example uses a lexical variable $x to hold the values in iteration.
The above snippet outputs:
5 6 7 8 15 16 17 18
3. List of scalar values also gets updated:
#!/usr/bin/perl use warnings ; use strict ; $\="\n"; my ($x,$y,$z)=(20,30,40); foreach my $a ($x,$y,$z){ $a+=10; } print "$x $y $z";The sample snippet outputs:
20 30 40 30 40 50Even when a set of scalars is given, they too get udpated the same way. The holding variable $a is just an alias to these scalar variables.
No comments:
Post a Comment