/$pat1/ && /$pat2/; # Sets $1 (twice). /$pat1/ && /$pat2/; # Sets $1. #### /^(?=.*?$pat1)(?=.*?$pat2)/; # Sets $1 and $2. /^(?=.*?$pat1)(?=.*?$pat2)/; # Doesn't set $1 or $2. #### $pat1 = "(foo)"; $pat2 = "(bar)"; /$pat1/ && /$pat2/; /^(?=.*?$pat1)(?=.*?$pat2)/; $pat1 = "(foo)"; $pat2 = "(baz)"; /$pat1/ && /$pat2/; /^(?=.*?$pat1)(?=.*?$pat2)/;