Twój składnia jest
lekko off
nieaktualnych (dzięki Seth):
open(MYFILE, '>>', "data.txt") or die $!;
Trzeba będzie dokonać pełnej podanie za pośrednictwem pliku i wypisać żądane dane przed istniejących zawartości plików :
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);
(nieuzasadniony skradziony z Perl FAQ, a następnie zmodyfikowany)
Spowoduje to przetworzenie pliku wiersz po wierszu, dzięki czemu na dużych plikach nie przeżujesz ton pamięci. Ale nie jest to dokładnie szybkie.
Nadzieję, że pomaga.
http://stackoverflow.com/questions/2322140/how-do-i-change-delete-or -insert-a-line-in-a-file-or-append-to-the-beginning-o – daxim