use strict; use warnings; my $data = "line1\nfoobar\nline3\n"; $data =~ s{(foo)(bar)}{ my $one = $1; my $two = $2; $one .= <<'END_TEXT'; Insert 1 Insert 2 END_TEXT $one.$two; }e; print $data;