... my $list_regex = join '|', @patterns; my $regex_string = qr/$list_regex/is; ... if (/($regex_string)/) {print "\n$arg1\n$1\n";} #### pattern1 some text pattern2 instead of this match: pattern1.*pattern2