my @a; for my $i (1..8) { foreach ('once') { my $x; push @a, \$x if $i >= 4; print(\$x, "\n"); } pop @a if $i >= 7; } #### SCALAR(0x226024) SCALAR(0x226024) SCALAR(0x226024) SCALAR(0x226024) SCALAR(0x2252e0) SCALAR(0x2252f8) SCALAR(0x225334) <-- different SCALAR(0x22513c) <-- different #### SCALAR(0x226024) SCALAR(0x226024) SCALAR(0x226024) SCALAR(0x226024) SCALAR(0x2252e0) SCALAR(0x2252f8) SCALAR(0x2252f8) <-- same as prev SCALAR(0x2252f8) <-- same as prev