
Envoyé par
Woufeil
Essai avec un bloc eval contenant un system() :
1 2 3
| eval {
system("gunzip -S .zip monFichier.zip");
} or warn "Impossible\n"; |
Ca ne peut pas fonctionner à cause d'un "piège à con":
l'eval renvoie la valeur renvoyée par le system. Hors, une commande système renvoie 0 en cas de succes; et autre chose en cas de probleme.
En cas de probleme, le system renvoie une valeur true, et le "or warn" n'est donc pas exécuté. Il faut donc mettre "and warn".
De plus, le bloc eval ne sert ici a rien, car un system à problème ne fera pas planter ton script.
C'est donc:
system("gunzip -S .zip monFichier.zip") and warn "Impossible\n";
Partager