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