and got$pattern = '[aeiou]'; ( $s1, $s2, $s3, $s4 ) = qw( name nerd noodle froodle ); printf "was: '%s'\n", join("' '",$s1,$s2,$s3,$s4); foreach my $item ($s1,$s2,$s3,$s4,) { $item =~ s/$pattern/ /g; } printf "now: '%s'\n", join("' '",$s1,$s2,$s3,$s4); ( $s1, $s2, $s3, $s4 ) = qw( name nerd noodle froodle ); @a = ( $s1, $s2, $s3, $s4 ); print "\n"; printf "was: '%s'\n", join("' '",$s1,$s2,$s3,$s4); printf "was: '%s'\n", join("' '",@a); foreach my $item (@a) { $item =~ s/$pattern/ /g; } printf "now: '%s'\n", join("' '",$s1,$s2,$s3,$s4); printf "now: '%s'\n", join("' '",@a);
was: 'name' 'nerd' 'noodle' 'froodle' now: 'n m ' 'n rd' 'n dl ' 'fr dl ' was: 'name' 'nerd' 'noodle' 'froodle' was: 'name' 'nerd' 'noodle' 'froodle' now: 'name' 'nerd' 'noodle' 'froodle' now: 'n m ' 'n rd' 'n dl ' 'fr dl 'When you did
you copied the _values_ in each variable into the array. You then looped through the array elements changing their values through the magic of foreach aliasing. But that doesn't change the variables you copied from.my @look_for = ($name,$nerd,$noodle,$froodle);
In reply to Re: array confusion
by shenme
in thread array confusion
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |