j'ai un petit soucis avec die : je voudrais que lorsqu'un "open" ne fonctionne pas, die m'écrire et log et sorte avec "-1"
donc j'ai une ligne comme ca :
opendir(DSTREPORT,$destreport)or die (meurt("Impossible d'ouvrir le répertoire $destreport... $!");return -1);
mais il n'en veux pas.... si je ne met que l'appel vers "meurt" ou le "return -1", ca fonctionne mais pour les deux en meme temps ya pas moyen...
ya t'il une syntaxe particulière que j'ai raté ? ou peut etre une autre facon de le faire...
# oupssss....
Posté par jve (site web personnel) . Évalué à 1.
désolé, je voulais l'envoyer dans "programmation.perl" mais je suis pas habitué a devoir choisir la section dans un menu avant de poster :p
quelqu'un as les droits pour le déplacer ?
# quel langage ?
Posté par goeb . Évalué à 0.
c'est dans quel langage ?
# Désolé, mais...
Posté par jigso . Évalué à 2.
$ perldoc -f die
die LIST
Outside an "eval", prints the value of LIST to "STDERR" and exits with the current value of $! (errno).
$ perldoc -f return
return EXPR
return Returns from a subroutine, "eval", or "do FILE" with the value given in EXPR.
Donc forcément quand l'un est executé, l'autre ne peut pas l'être. En inversement.
[^] # Re: Désolé, mais...
Posté par duaner . Évalué à 1.
Plus d'infos sur:
man 2 wait
perldoc perlvar -> chercher pour $?
[^] # Re: Désolé, mais...
Posté par jve (site web personnel) . Évalué à 1.
local $SIG{'__DIE__'} = sub { if($DEBUG==1){ open(DEBUG_FILE,">>.\\logs\\debug_TBvir.txt")or die $!; print DEBUG_FILE "SUB_RAPATRIEMENT_LOGS ==> $_[0]\n"; close DEBUG_FILE; } $retour = -1; die $_[0]; };
avec $retour qui est un pointeur vers mon interface (donc pas de soucis sur les 8 bit du return ;) ) et j'appel mon die comme ca :open-gnagnagna or eval{die"Impossible de copier le fichier $fichier_source... $!"};
et hop ca marche comme je veux :) merci de vos aides[^] # Re: Désolé, mais...
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 2.
Mais si j'analyse bien ton code tu utilise die mais tu le protege avec eval{}
donc tu ne meurt jamais ??? auquel cas il faut remplacer 'exit -1' par '$retour = -1;'
Un peu etrange tout ca quand meme proteger un die ...
[^] # Re: Désolé, mais...
Posté par jigso . Évalué à 2.
[^] # Re: Désolé, mais...
Posté par jve (site web personnel) . Évalué à 1.
mais j'ai pas le temps de corriger tout ca pour le moment (fin de stage approche) alors je réparerais tout ca dans la V2
jigso => j'ai voulu m'inscrire a la liste des mongueurs.... jamais réussi
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.