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
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
Premier indice
la variable $repfinal2 n'est pas valorisée.
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
Et en mettant des backslashs devant tous les points ? :
et au vu de la remarque de laurent33500 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part if ( $file =~ /\.(Smp\.pdf|Idx\.pdf)$/i )
je me trompe ou ce genre de code ne peux pas fonctionner ??
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" ;
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");
La principale erreur est dans ces deux lignes:
Il faut avoir un seul return (le premier return sort de la fonction, le second n'est jamais exécuté).
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" ;
Essaie par exemple, ceci:
Mais il y aurait pas mal d'autres choses à dire sur le code...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 return ("$destination1\\$annee\\$mois\\$jour" , "$destination2\\$annee\\$mois\\$jour" );
EDIT: oups, plusieurs réponses pendant que je rédigeais la mienne. Mes doigts ne sont pas assez rapides.![]()
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
Partager