my $cell_name = "xyz"; while () { if (/STARTING_PATTERN\s+(.*)/) { $string = $_; $sub = quotemeta $1; $string =~ s/$sub/$cell_name/; print $string; } } __DATA__ STARTING_PATTERN RRR #### STARTING_PATTERN xyz