$pat = '(' . join('|', @patterns) . ')'; $pat = qr/$pat/i; #### $pat = qr/$pat/gi; s/$pat/something/; #### $pat = qr/$pat/i; s/$pat/something/g; #### perl -e 'print if /perl/gi' #### $str = 'nothing but perl can parse Perl'; @match = $str =~ /(perl)/gi; print for @match;