perl -le"sub f{ \my $x } print f() for 1..10;"
####
sub DESTROY {say "DESTROYED"}
sub f{ bless \my $x } say f() for 1..10;
__END__
main=SCALAR(0x9721530)
DESTROYED
main=SCALAR(0x9704c30)
DESTROYED
main=SCALAR(0x9721530)
DESTROYED
main=SCALAR(0x9704c30)
DESTROYED
main=SCALAR(0x9721530)
DESTROYED
main=SCALAR(0x9704c30)
DESTROYED
main=SCALAR(0x9721530)
DESTROYED
main=SCALAR(0x9704c30)
DESTROYED
main=SCALAR(0x9721530)
DESTROYED
main=SCALAR(0x9704c30)
DESTROYED
####
my @a;
sub f{ push @a, \my $x; $a[-1] } say f() for 1..10;
__END__
SCALAR(0x9c34108)
SCALAR(0x9c33c1c)
SCALAR(0x9c41f8c)
SCALAR(0x9c33f50)
SCALAR(0x9c341a8)
SCALAR(0x9c34180)
SCALAR(0x9c33f00)
SCALAR(0x9c50534)
SCALAR(0x9c5050c)
SCALAR(0x9c504e4)