use strict; sub make_ref { my $name = shift; my $i = 99; return sub { print "ref $name: ",$i++,"\n"; } } my $ref1 = make_ref("sub1"); my $ref2 = make_ref("sub2"); for (1 .. 10) { $ref1->(); $ref2->() if $_ % 2 == 0; } #### ref sub1: 99 ref sub1: 100 ref sub2: 99 ref sub1: 101 ref sub1: 102 ref sub2: 100 ref sub1: 103 ref sub1: 104 ref sub2: 101 ref sub1: 105 ref sub1: 106 ref sub2: 102 ref sub1: 107 ref sub1: 108 ref sub2: 103