in reply to array confusion
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);
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: array confusion
by Anonymous Monk on Aug 21, 2003 at 06:43 UTC |