while( defined( my $item = $iter1->() ) { print "1: $item\n"; } while( defined( my $item = $iter2->() ) { print "2: $item\n"; } while( defined( my $item = $iter2->() ) { print "3: $item\n"; } #outputs: 1: 1 1: 2 1: 3 2: y 2: n 3: 7 3: 14 3: 21 3: 28