>perl -wMstrict -le "my @subs = ( [ qr{ (?i) foo | bar }xms => 'quux' ], [ qr{ fee | fie | foe }xms => 'fum' ], ); ;; my $string = 'foo fee BAR foe fOo fie FOE'; for my $ar_sub (@subs) { my ($search, $replace) = @$ar_sub; $string =~ s{$search}{$replace}g; } print qq{'$string'}; " 'quux fum quux fum quux fum FOE'