Ваш синтаксис слегка отключен устарел (спасибо, Сет):
open(MYFILE, '>>', "data.txt") or die $!;
Вам придется сделать полный проход через файл и записать нужные данные до того, как существующиесодержимое файла:
open my $in, '<', $file or die "Can't read old file: $!";
open my $out, '>', "$file.new" or die "Can't write new file: $!";
print $out "# Add this line to the top\n"; # <--- HERE'S THE MAGIC
while( <$in> ) {
print $out $_;
}
close $out;
close $in;
unlink($file);
rename("$file.new", $file);
(безвозмездно украдено из Perl FAQ , затем изменено)
Это будет обрабатывать файл построчно, так что в больших файлахты не жуешь тонны памяти.Но это не совсем быстро.
Надеюсь, это поможет.