in reply to RegExp query (hopefully simple)

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!

Replies are listed 'Best First'.
Re: Re: RegExp query (hopefully simple)
by billie_t (Sexton) on Apr 10, 2003 at 03:06 UTC
    Thanks muchly, jasonk - your first code snippet worked perfectly.

    And yes, I certainly understood the need for a not+OR kind of thing, I just couldn't find how to express it. Thanks for showing me that method as well.