sub count_maker { my $count = shift; return sub {$count++} } my $a_counter1 = count_maker(0); my $a_counter2 = count_maker(4); print $a_counter1->() . "\n"; print $a_counter2->() . "\n"; print $a_counter2->() . "\n"; print $a_counter1->() . "\n"; __OUTOUT__ 0 4 5 1