my $newstuff = "

New HTML here!

\n"; open my $in, '<', "infile.html" or die $!; open my $out, '>', "tempfile.html" or die $!; while ( my $line = <$in> ) { next unless $line =~ m!<\s*/body\s*>!i; $line =~ s!(<\s*/body\s*>)!$newstuff$1!i; } continue { print $out; } close $out or die $!; close $in or die $!; rename "tempfile.html", "infile.html" or die $!;