We need to see runnable code that is equivalent to the code you're running. The code you've posted cannot ever yield an array with more than a single element:
c:\@Work\Perl\monks>perl -wMstrict -le "my @list = qw(one two three four); ;; my @ra; for my $item (@list) { @ra = $item; printf 'print all in @ra: '; printf qq{$_ } for @ra; print 'done'; } " print all in @ra: one done print all in @ra: two done print all in @ra: three done print all in @ra: four done
Update: E.g., something using push would do the trick:
c:\@Work\Perl\monks>perl -wMstrict -le "my @list = qw(one two three four); ;; my @ra; for my $item (@list) { push @ra, $item; printf 'print all in @ra: '; printf qq{$_ } for @ra; print 'done'; } " print all in @ra: one done print all in @ra: one two done print all in @ra: one two three done print all in @ra: one two three four done
Give a man a fish: <%-{-{-{-<
In reply to Re: Why do i get an extra (duplicate) array element?-
by AnomalousMonk
in thread Why do i get an extra (duplicate) array element?-
by rickman1
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |