I'm not sure to have understood your question and there is not perl code to check, also the data and the output and what i understood of requirements does not collimates (name2 and name3 meet both the expression) anyway i'd start with something like (i skip name3 for what said above)
use strict; use warnings; while (<DATA>){ print if $_ =~/country\s+city1\s+street1/i and $_ !~/name3/ ; } __DATA__ Country City Street1 number1 name1 Country City1 Street1 number1 name2 Country City1 Street1 number2 name3 Country City1 Street2 number1 name4 Country City1 Street2 number1 name5 #OUTPUT Country City1 Street1 number1 name2
PS if you need to have just the name you can or split the string and check every item or capture the name in the first regex and print just this like in:
print "$1\n" if $_ =~/country\s+city1\s+street1\s+\S+\s+(\S+)$/i and $_ !~/name3$/ ;
L*
In reply to Re: Need to multi grep and grep exclude in perl.
by Discipulus
in thread Need to multi grep and grep exclude in perl.
by Frits
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |