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 :

if else qui ne fonctionne pas


Sujet :

Langage Perl

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 39
    Points : 27
    Points
    27
    Par défaut if else qui ne fonctionne pas
    Bonjour à tous

    j'ai un souci dans mon script au niveau de la copie de fichier (Module COPY_FICHIER).
    La première partie du if se passe bien mais la partie else.

    Pouvez vous m'aider ?

    Cordialement
    Fichiers attachés Fichiers attachés

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 39
    Points : 27
    Points
    27
    Par défaut
    Premier indice
    la variable $repfinal2 n'est pas valorisée.

  3. #3
    Membre éprouvé Avatar de Gardyen
    Homme Profil pro
    Bio informaticien
    Inscrit en
    Août 2005
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bio informaticien

    Informations forums :
    Inscription : Août 2005
    Messages : 637
    Points : 1 050
    Points
    1 050
    Par défaut
    tu ne retournes pas tes valeurs correctement dans CREAREP_DEPOT, tu ne peux avoir qu'un seul return
    place tes 2 valeurs dans une liste que tu retournes par exemple
    Nous les geeks, c'est pas qu'on a une case en moins, c'est juste qu'on compte à partir de zéro.
    Plus les choses changent, plus elles restent les mêmes

  4. #4
    Membre habitué
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juillet 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2014
    Messages : 84
    Points : 197
    Points
    197
    Par défaut
    Et en mettant des backslashs devant tous les points ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( $file =~ /\.(Smp\.pdf|Idx\.pdf)$/i )
    et au vu de la remarque de laurent33500 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    return my $repfinal1 = "$destination1\\$annee\\$mois\\$jour" ;
    return my $repfinal2 = "$destination2\\$annee\\$mois\\$jour" ;
    je me trompe ou ce genre de code ne peux pas fonctionner ??
    Une fois le premier return effectué, le second n'a plus aucune légitimité, non ?
    Tu cherches à renvoyer une liste d'élément dans la fonction CREAREP_DEPOT, je te suggère de remplacer les 2 return par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return ("$destination1\\$annee\\$mois\\$jour", "$destination2\\$annee\\$mois\\$jour");

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 39
    Points : 27
    Points
    27
    Par défaut
    merci c’était la mon erreur.

  6. #6
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    La principale erreur est dans ces deux lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    return my $repfinal1 = "$destination1\\$annee\\$mois\\$jour" ;
    return my $repfinal2 = "$destination2\\$annee\\$mois\\$jour" ;
    Il faut avoir un seul return (le premier return sort de la fonction, le second n'est jamais exécuté).

    Essaie par exemple, ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    return ("$destination1\\$annee\\$mois\\$jour" , "$destination2\\$annee\\$mois\\$jour" );
    Mais il y aurait pas mal d'autres choses à dire sur le code...

    EDIT: oups, plusieurs réponses pendant que je rédigeais la mienne. Mes doigts ne sont pas assez rapides.

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

Discussions similaires

  1. condition (if/else) qui ne fonctionne pas
    Par oceane751 dans le forum Langage
    Réponses: 8
    Dernier message: 24/07/2007, 23h58
  2. [SQL] Requête à jointure qui ne fonctionne pas
    Par Bensor dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/12/2004, 16h10
  3. Jointure externe qui ne fonctionne pas
    Par Guizz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/02/2004, 12h26
  4. CREATEFILEMAPPING qui ne fonctionne pas???
    Par Jasmine dans le forum MFC
    Réponses: 2
    Dernier message: 06/01/2004, 19h33
  5. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 10h04

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