my @a;
for (qw/a b c/) {
push @a, $_;
print (join ', ', @a), "\n";
}
In the first iteration, @a contains a, so the output is
a
In the second iteration, @a contains a, b, so the total output is
a # output from previous iteration
a, b # output from current iteration
In the third iteration it will print a, b, c, so you'll see a total of three a in the output - probably the duplicates you complained about.
If you move the print out of the loop, you just get a, b, c because that's what @a contains.
|