# X is the "default action" # do X with an exception that when A,B and C are all false # then don't do X unless (!A and !B and !C) {X} # if anybody is true then they all can't be false # so we do X unless anybody is true (meaning they # can't all be false) unless (A or B or C) {X} ------- unless ( (!($args =~ /\-rs(\s+)(\S+)/)) && (!($args =~ /\-p(\s+)(\S+)/)) && (!($args =~ /\-P(\s+)(\S+)/)) ) {..... # I figure this is easier to understand: unless ( $args =~ /\-rs(\s+)(\S+)/ or $args =~ /\-p(\s+)(\S+)/ or $args =~ /\-P(\s+)(\S+)/ ) {....