Ciao,

mettere tutto il file in un buffer va bene solo se si tratta di piccoli file, altrimenti è dannoso molto meglio scorrerlo.

per mettere tuuto il file in un buffer si può usare:

open (FILE, "<file.txt");
@file = <FILE>;
close FILE;

e in @file ci sarà tutto il file.

Ma se il file è grosso consiglio:

use FILE::Copy; # questo modulo è standard

# apro in lettura il file da modificare
open (LEGGO, "<$leggo.txt");
# apro in scrittura il file che conterrà il nuovo testo
open (SCRIVO, ">$scrivo.txt");
# scrivo all'inizio il nuovo testo
print SCRIVO "prima nuova riga\n";
print SCRIVO "seconda nuova riga\n";
# copio il vecchio testo
while (<LEGGO>) {
print SCRIVO;
}
close SCRIVO;
close LEGGO;
# rinomino il file con il nuovo testo col il vecchio nome
move ("scrivo.txt", "leggo.txt");

ad ogni modo ancora meglio sarebbe l'uso dei moduli Tie::File che sono potentissimi, ma necessitano di qualche base di perl.