if you want the and then what was sent is one way for that. If after 'or' then replace && with || as a start. Wags ;)
-----Original Message----- From: Sonika Sachdeva [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 11, 2006 16:27 To: Wagner, David --- Senior Programmer Analyst --- WGO Cc: Peter Cornelius; beginners@perl.org Subject: Re: Perl regular exp Actually I am looking for AND and OR combinations..and the number of words are not fixed. ie @words is the variable and I need to have OR and AND combinations of @words. to match in LINES How do I go about it? On 4/11/06, Wagner, David --- Senior Programmer Analyst --- WGO < [EMAIL PROTECTED] > wrote: Sonika Sachdeva wrote: > $str1=shift; > $str2=shift; > $str3=shift; > > my $querystring="$str1 && $str2 && $str3"; > > foreach (@LINES){ > push @output,$_ if /$querystring/ ; > } > Correct because unless you have abc && efg && hij in the $_ it will not work because that is prbably not what you are after. if you are looking for all three to be there, then one way would be: push @output,$_ if /$str1/ && /$str2/ && /$str3/ ; which says if you find all three of the variables then put onto @output otherwise bypass. But this is making the assumption you are not LOOKING for && as part of the string. Wags ;) > does not work even if I have @LINES containing all 3 words. > > Thanx, > > On 4/11/06, Peter Cornelius < [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > > wrote: >> >> What do you mean by 'works'? It looks to me like this will print the >> line if the string 'pattern1 && pattern2 && pattern3' is in the >> line. Not if pattern1 is in the line and pattern2 is in the line and >> pattern3 is in the line. Is that what you mean? >> >> I think some more detail would help me to understand your question. >> >>> print $line if ($line =~ /pattern1 && pattern2 && pattern3/); >>> >>> works .. but ******************************************************* This message contains information that is confidential and proprietary to FedEx Freight or its affiliates. It is intended only for the recipient named and for the express purpose(s) described therein. Any other use is prohibited. *******************************************************