sub makecounter { my $count = 0; return sub { ++$count }; } my $counter1 = makecounter; my $counter2 = makecounter; for (1 .. 5) { print $counter1->(), "\n"; } print $counter2->(), "\n";