my $max_finder = make_max_finder(); while (my $next_val = get_next_value()) { $max_finder->($next_val); } $max_finder->(); # retrieve maximum