my $array = Array::AsHash->new({array => \@array}); { my $next_key_value = $array->each; while ( my ($key, $value) = $next_key_value->() ) { print "$key : $value\n"; last if some_condition($key, $value); } }