Не вызывайте Perl из Perl, выполняйте работу непосредственно в одном процессе.
#! /usr/bin/perl
use warnings;
use strict;
my $find = qr/# Foo/;
my $replace = "foo/bar/blah.txt\n# Foo";
my $file = './some_text_file.txt';
open my $in, '<', $file or die $!;
open my $out, '>', "$file.new" or die $!;
while (<$in>) {
s/$find/$replace/;
print {$out} $_;
}
close $out;
rename "$file.new", $file or die "Can't rename";
Или, если вам нужно сохранить резервную копию,
rename $file, "$file.backup" or warn "Can't create backup";
rename "$file.new", $file or die "Can't rename";