IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

forcer un exit


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Mr6
    Mr6 est déconnecté
    Membre émérite

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 608
    Par défaut forcer un exit
    Slt tlm !

    La question a déjà dûe être posée mais comme je n'arrive pas à vraiment trouver mon bonheur, je pose la mienne :
    Je veux faire un script perl qui, à un moment donné, me fait ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    system("mv $fic_src $fic");
    exit $?;
    Je veux que mon script, me crache le code erreur, mais pas les insultes, cad que lorsque par exemple je n'ai ni $fic_src ni $fic présent il doit pouvoir me donne le code mais pas le
    mv : 0653-401 Impossible de renommer /tmp/test1 par /tmp/test2 :
    Un fichier ou un répertoire du chemin d'accès n'existe pas.
    pour le moment, le meilleur résultat obtenu est en faisant ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    open MV, "mv $fic_src $fic |";
    close (MV);
    print $?;
    mettre un die aurait pu être sympa si je n'avais pas le "at ./file ligne 8...", et bien sûr mon script fait un exit 0 si je le laisse avec un print...
    Merci de m'aider

    @+
    Mr6

  2. #2
    Mr6
    Mr6 est déconnecté
    Membre émérite

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 608
    Par défaut
    je viens de voir que eval m'aiderait à résoudre mes soucis (ainsi que rename d'ailleurs...). qqun pourrait me montrer comment m'en servir à la rigueur (bah oui, j'ai jamais eu à utiliser cette fonction...)

  3. #3
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 892
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 892
    Par défaut
    Salut

    Si tu appelles des commandes shell sous Unix, je te conseille cette structure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #!/usr/bin/perl -w
     
    use strict;
     
    my $retour = system("mv toto.txt tata.txt >> /dev/null 2>&1");
    print $retour;
    exit $retour;
    L'avantage, c'est que tous les messages du shell (stdout et stderr) seront redirigés vers /dev/null.
    Entre parenthèses, il est possible de faire un mv en Perl pûr avec la commande rename.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

  4. #4
    Mr6
    Mr6 est déconnecté
    Membre émérite

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 608
    Par défaut
    vi, j'avais apercu le rename.
    Le soucis là, c'est qu'une fois le script exécuté, si je fais un echo $? dans le shell, j'ai 0, et non 256 par exemple si mes fichiers n'existent pas...

  5. #5
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 892
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 892
    Par défaut
    Je te recommande aussi cette lecture : http://perl.developpez.com/faq/?page...nC2#sectionC21
    Mais typiquement, c'est plus un problème de redirection stdout/stderr que tu avais. Avec mon écriture, ça devrait aller mieux.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

  6. #6
    Mr6
    Mr6 est déconnecté
    Membre émérite

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 608
    Par défaut
    Merci ! en fait, après relecture, c'est le exec qui me correspond le mieux car il s'agit de la dernière commande de mon script

  7. #7
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 892
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 892
    Par défaut
    Oki. Si c'est bon, n'oublies pas le tag Résolu.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. return ();exit() ;
    Par Zazeglu dans le forum C
    Réponses: 12
    Dernier message: 10/10/2003, 20h56
  2. Forcer la saisie en MAJ dans un Formulaire
    Par lolos dans le forum IHM
    Réponses: 4
    Dernier message: 12/08/2003, 10h57
  3. [langage] exit
    Par aw dans le forum Langage
    Réponses: 2
    Dernier message: 12/06/2003, 11h10
  4. Forcer jump short ou far
    Par Blustuff dans le forum Assembleur
    Réponses: 6
    Dernier message: 02/03/2003, 02h03
  5. Forcer l'affichage des dizaines...
    Par pataluc dans le forum Langage
    Réponses: 4
    Dernier message: 26/11/2002, 19h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo