use strict; use warnings; my $test_data = 'This is some test data: $888...!'; my $pattern = qr{(\$?[0-9,]+)}; my $replacement = '$1<\/test>'; my $first_test = apply_regex_e($test_data, $pattern, $replacement); $replacement = 'q{}.$1.q{<\/test>}'; my $second_test = apply_regex_ee($test_data, $pattern, $replacement); print $first_test, "\n", $second_test; sub apply_regex_e { my ($data, $pat, $rep) = @_; $data =~ s/$pat/$rep/e; return $data; } sub apply_regex_ee { my ($data, $pat, $rep) = @_; $data =~ s/$pat/$rep/ee; return $data; } #### This is some test data: $1<\/test>...! This is some test data: $888<\/test>...!