local $\ = "\n"; my %h = map { $_ => 1 } qw( a b c d ); for my $pass (1..3) { print "Pass $pass:"; while (my ($k,$v) = each %h) { print $k; last if $pass == 1; } }