Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

Re^2: grep with looped tests

by RichardK (Parson)
on Jun 06, 2014 at 15:57 UTC ( #1089051=note: print w/replies, xml ) Need Help??

in reply to Re: grep with looped tests
in thread grep with looped tests

Similarly, using first from List::Util to short circuit the inner loop when you match a line :)

use v5.18; use warnings; use List::Util 'first'; use Data::Dumper; my @data = 0..10; my @re = (3,7,9); my @res = grep {my $line = $_; !defined first {$line =~ $_} @re } @dat +a; say Dumper(\@res);

Replies are listed 'Best First'.
Re^3: grep with looped tests
by LanX (Sage) on Jun 06, 2014 at 16:03 UTC
    Ah I always forget that List::Util (which is core) has now any , too!

    (I'm still hooked on List::MoreUtils , see next answer :)

    > my @res = grep {my $line = $_; !defined first {$line =~ $_} @re } @data;

    But I think you'd certainly prefer any over first to avoid !defined ! :)


    though first was and any wasn't part of my 5.10 distribution!

    Cheers Rolf

    (addicted to the Perl Programming Language)

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1089051]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (3)
As of 2022-05-21 09:53 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (76 votes). Check out past polls.