use strict; my $string = "testx_testy"; my $in = "(testx_)(testy)"; my $out = '$1'; test("$string","$in","$out"); sub test { my $sub_string = shift; my $sub_in = shift; my $sub_out = shift; print "$sub_string <=> $sub_in <=> $sub_out \n"; $sub_string =~ s/$sub_in/$sub_out/g; print "erg: $sub_string \n"; }