2010-02-22 18 views

Répondre

22

Ajouter ceci au début de votre script:

use Carp 'verbose'; 
$SIG{ __DIE__ } = sub { Carp::confess(@_) }; 

Il va créer une trace de la pile sur toutes les erreurs fatales.

+4

Vous pouvez également faire ce '$ SIG {__ DIE__} = \ & Carp :: confess;' –

+0

Cette réponse est vraiment beaucoup mieux qu'à la question qui est considérée comme un doublon de celui-ci. – EMiller

10

Recherchez le module Carp::Always.

+4

'Carp :: Always' est une méthode bien meilleure que de jouer avec sigdie parce que vous pouvez l'activer depuis la ligne de commande. 'perl -MCarp :: Always my_script' Très, très bien. – daotoad

+1

Je mets '#!/C/Perl/bin/perl-MCarp :: Toujours -w' comme première ligne du script. Et il a dit "Trop tard pour" -MCarp :: Toujours "option à ... ligne 1.» –