use warnings; use strict; my $user_defined_string = "abcabcabc"; my $user_defined_search = '(a)'; #### my $user_defined_replace = '---$1---'; #### my $user_defined_replace = '"---".$1."---"'; print "before: $user_defined_string\n"; $user_defined_string =~ s/$user_defined_search/$user_defined_replace/ee; print "after: $user_defined_string\n"; #### before: abcabcabc after: ---a---bcabcabc