in reply to Re: Problem wrapping prototyped function [SOLVED]
in thread Problem wrapping prototyped function [SOLVED]

I'm afraid you missed the point.

The reason why people want to use any instead of grep is to break as soon as the condition is true.

Example: Test array for odd numbers:

DB<47> use List::MoreUtils qw/any/ DB<48> @x=1..10000;() DB<49> $i=0; $flag= any { $i++; $_ %2 } @x; ($i,$flag) => (1, 1) DB<50> $i=0; $flag= grep { $i++; $_ %2 } @x; ($i,$flag) => (10000, 5000)

Looks like you reimplemented grep, just slower.

Cheers Rolf

( addicted to the Perl Programming Language)

Replies are listed 'Best First'.
Re^3: Problem wrapping prototyped function [SOLVED]
by Laurent_R (Canon) on Dec 18, 2013 at 19:58 UTC

    Well, part of the discussion in the other post was about the fact that using grep in a Boolean context for simulating an any function is not very clear.

    The other point, which I should have mentioned and you could not guess it, is that I am not really using the List::Util version of reduce, but my own experimental lazy version of reduce, so that the process stops as soon as it has satisfied the relevant condition. (It should probably called something else than reduce, but OK, that's the idea.)