use strict; use warnings; while () { chomp; my ($pat, $repl) = (split '/') [1, 2]; my $s = "foo"; $s =~ s/$pat/qq{"$repl"}/ee; say $s; } __DATA__ s/foo/bar/ s/(fo)o/bar$1/ #### bar barfo