I think it's a bug in "any" ...

Try this:

my $_ = 5;
say( (any { $_ eq 7 } (0..10) ) or 'false' );

given (5) {
    when (5) {
        say( (any { our $_ eq 7 } (0..10) ) or 'false' );
        say( join(", ", map { $_ eq 7 } (0..10) ) );
    }
}

and it prints:

false
1
, , , , , , , 1, , , 
 

Best regards


On Thu, 2010-04-29 at 17:56 +0200, marcos rebelo wrote:
> the code:
> 
> use v5.10;
> use Modern::Perl;
> use List::MoreUtils qw(any);
> 
> say( (any { $_ eq 7 } (0..10) ) or 'false' );
> 
> given (5) {
>     when (5) {
>         say( (any { $_ eq 7 } (0..10) ) or 'false' );
>         say( join(", ", map { $_ eq 7 } (0..10) ) );
>     }
> }
> 
> 
> prints:
> 
> 1
> false
> , , , , , , , 1, , ,
> 
> 
> 
> the second 'any' should have returned a true value or not, and why???
> 
> 
> Best Regards
> Marcos Rebelo
> 



-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to