if( $args !~ / (*FAIL) | \-rs(\s+)(\S+) # | \-? (\s+)(\S+) | \-P (\s+)(\S+) | \-p (\s+)(\S+) /x ){ ... } #### c:\@Work\Perl\monks>perl -wMstrict -le "use 5.010; ;; for my $s (qw(XXX ppp)) { print qq{for '$s' string}; if ($s !~ m{ (*F) | p | q }xms) { print ' with (*F): no match, !~ true' } if ($s !~ m{ Z | p | q }xms) { print ' with Z: no match, !~ true' } if ($s !~ m{ p | q }xms) { print ' no (*F): no match, !~ true' } print ' -------'; } " for 'XXX' string with (*F): no match, !~ true with Z: no match, !~ true no (*F): no match, !~ true ------- for 'ppp' string -------