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
Version imprimable
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:if ( $file =~ /\.(Smp\.pdf|Idx\.pdf)$/i )
je me trompe ou ce genre de code ne peux pas fonctionner ??Code:
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:return ("$destination1\\$annee\\$mois\\$jour", "$destination2\\$annee\\$mois\\$jour");
merci c’était la mon erreur.
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:
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:
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. :aie: