[Israel.pm] GC for iterator
Pinkhas Nisanov
pinkhas at nisanov.com
Tue Aug 23 01:07:31 PDT 2005
Hi,
I try to work with iterators in perl and
do not really know how garbage collector
will work in this case, example:
{
my $itr1 = createIterator( 1, 100000);
$itr1->() foreach ( 1..20 );
}
sub createIterator
{
my ( $p1, $p2 ) = @_;
return sub { print "next value: ". ++$p1. "\n" if $p1 < $p2 }
}
Variables "$p1" and "$p2" stay in memory, so iterator "$itr1"
( reference to function ) remember their values on every
iterator call. My question is, will garbage collector release
variables "$p1" and "$p2" when iterator "$itr1" go out of scope?
thanks
--
Pinkhas Nisanov
pinkhas at nisanov.com
"The true coder,
like the true revolutionary,
is guided by great feelings of love"
More information about the Perl
mailing list