A single pipe is a bitwise-or, it doesn't do what you are trying to do here (and even if it did, you want and, not or). And your ' +\t +' construct will only match whitespace, followed by a tab, followed by whitespace. I would do it something like this instead:
while(<PERMSFILE>) { next if /Everyone\s+R X/; next if /Webmins\s+all/; next if /Domain Admins\s+all/; next if /\s+o\s+/; print SHORTPERMS; }
The correct way to write the code you have though would be something like:
while(<PERMSFILE>) { if( $_ !~ /Everyone\s+R X/ && $_ !~ /Webmins\s+all/ && $_ !~ /Domain Admins\s+all/ && $_ !~ / o /) { print SHORTPERMS $_; } }
| We're not surrounded, we're in a target-rich environment! |
|---|
In reply to Re: RegExp query (hopefully simple)
by jasonk
in thread RegExp query (hopefully simple)
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |