Questa funzione causa un immediato core dump. Si veda anche l'opzione da
linea di comando -u in perlrun, che fa la stessa cosa. Principalmente
è fatta in modo che possiate usare il programma undump (non
fornito) per trasformare il vostro core dump in un eseguibile binario,
dopo aver inzializzato tutte le vostre variabili all'inizio del programma.
Quando il nuovo binario viene eseguito, inzierà con l'eseguire un
goto ETICHETTA (con tutte le restrizioni di cui soffre goto).
Pensate ad esso come ad un goto con un core dump nel mezzo, e poi una
reincarnazione. Se ETICHETTA viene omesso, ricomincia il programma da
capo.
ATTENZIONE: Ogni file aperto al momento del dump non sarà
più aperto quando il programma si reincarnerà, con una
possibile confusione di risultati dal lato del Perl.
Questa funzione è ora ampiamente obsoleta, in parte a causa
dell'estrema difficoltà nel convertire un file di core in un
eseguibile e perché è stato superato dai veri compilatori
di backend che generano bytecode portabile e codice C compilabile. Questo
è il motivo per cui ora lo dovreste invocare come CORE::dump(),
se non volete essere avvisati di un possibile errore di battitura.
Se state considerando l'utilizzo di dump per rendere i vostri programmi
più veloci, prendete in considerazione la generazione di bytecode o
di codice C nativo come descritto in perlcc. Se state solamente tentando
di accelerare uno script CGI, prendete in considerazione l'utilizzo di
mod_perl, estensione di Apache, oppure il modulo CPAN CGI::Fast.
Potreste prendere in considerazione anche l'autoloading o il selfloading,
che almeno fanno sembrare più veloce il vostro programma.
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per
porre quesiti di tipo tecnico, per rimanere aggiornato su meeting,
incontri, manifestazioni e novità su Perl.it. Iscriviti!