Bonjour,
Comment lancer un script Perl dans un script perl et récuperer le code d'erreur de la fonction lancée??
J'ai testé system() mais il ne renvoie pas le code d'erreur de la fonction..
merci![]()
Bonjour,
Comment lancer un script Perl dans un script perl et récuperer le code d'erreur de la fonction lancée??
J'ai testé system() mais il ne renvoie pas le code d'erreur de la fonction..
merci![]()
Je pense qu'evec un eval :
Code : Sélectionner tout - Visualiser dans une fenêtre à part eval { $answer = $a / $b; }; warn $@ if $@;
utilise des back quote
Code : Sélectionner tout - Visualiser dans une fenêtre à part ``
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
Les back quotes permettent-ils un retour cohérent du code erreur ? Je veux dire un code erreur lié à la commande exécutée, et non lié à l'exécution de perl ?
Qu'appelles tu le "code d'erreur de la fonction" ? Les fonctions Perl n'ont pas de "codes d'erreurs", encore moins à travers le shell. Sans question précise, tu obtiendras des réponses imprécises, basées sur la compréhension de chacun du problème (comme ici, où l'un a vu surtout l'aspect "Code Perl avec exception (simulation du mécanisme d'exception)", et l'autre l'aspect "appel système").
--
Jedaï
Kiza demande de récupérer le code erreur renvoyé par la faonction lancée.Envoyé par kiza
Avec les back-quotes, tu lances une commande (par exemple `net start spooler`). Donc, quel code erreur Kiza veut récupérer ? Le code erreur du net start ? Ou bien une erreur d'exécution propre à perl (du type $! ou bien $@ etc...) ?
la technique que j'ai utilisé (trouvé sur le forum)
c'est de mettre la reponse dans un fichier et de recuperer en lisant le fichier
merci
Partager