indietro

  • dump ETICHETTA
  • dump

    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.