uhm....

Che ne dici di un:


codice:
open(FILE, "<file") 
flock(FILE,2) 
seek(FILE,-150,2);  # Sposti il cursore a 150 caratteri prima della file del file
@dump = <FILE> 
flock(FILE,8) 
close(FILE) 

$lat = $dump[@dump-1]; # Puoi scriverlo come $last=pop(@dump);
undef(@dump)

con seek(FILE,-150,2); sposti il cursore prima di 150 caratteri dalla fine del file.
Quando vai ad inserire tutto nel vettore inserirà solo le righe successive al cursore. In questo modo farai un dump del file molto piccolo.

Puoi evitare di usare il vettore nel seguente modo:
codice:
open(FILE, "<file") 
flock(FILE,2) 
seek(FILE,-150,2);
$last=$_ while <FILE>; # in $last avrai l'ultima riga
flock(FILE,8) 
close(FILE)
se la lunghezza delle righe è maggiore di 150 aumenti il valore di spostamento.
Ciao