in reply to Re: Regular expression and
in thread Regular expression for two required words

or, if you don't know what the words are ahead of time:
#!/usr/bin/perl -w use strict; my @approved = qw( foo bar); @approved = map { $_ = quotemeta $_; ### very important qr/$_/is; ## available in perl 6, not really needed } @approved; print "The approved list\n", join "\n", @approved; my $merex = join ' && ', map "/$_/", @approved; print "merex \n$merex\n\n"; if(@ARGV) { print "ARGV\n"; while(<DATA>) { print if eval $merex; } } else { while(<DATA>) { my $toprint = 0; for my $r(@approved) { $toprint++ if m/$r/; } print if $toprint == scalar @approved; } } __DATA__ foo bar bar foo foo bar baz barbazfoo foofoobar
which yields:
F:\dev>perl f.pl 3
The approved list
(?si-xm:foo)
(?si-xm:bar)merex
/(?si-xm:foo)/ && /(?si-xm:bar)/

ARGV
foo bar
bar foo
barbazfoo
foofoobar

F:\dev>perl f.pl
The approved list
(?si-xm:foo)
(?si-xm:bar)merex
/(?si-xm:foo)/ && /(?si-xm:bar)/

foo bar
bar foo
barbazfoo
foofoobar

F:\dev>

Chore List: 1 - buy more coffee 2 - re-impress upon davorg the importance of rule 1

 
___crazyinsomniac_______________________________________
Disclaimer: Don't blame. It came from inside the void

perl -e "$q=$_;map({chr unpack qq;H*;,$_}split(q;;,q*H*));print;$q/$q;"