Bonjour à vous gourous du Perl !
Toujours dans ma série "j'apprends sur le tas", je ne comprends ce qu'il se passe.
J'ai écris le code ci-dessous dont le but est de transférer des fichiers (dont je ne connais pas le nom d'avance) d'un serveur sur un autre serveur.
Le fait est que cela fonctionne lorsque les fichiers sont bien présents, mais ela fonctionne aussi lorsqu'ils ne le sont pas ! C'est à dire que je m'attendais à avoir "FIN ANORMALE DU SCRIPT" lorsque le move ne trouve pas de fichiers à "mover" or même quand il n'y en a pas, je n'ai pas de message d'erreur et le scripts me renvoit "FIN NORMALE DU SCRIPT".
Auriez-vous une piste à m'indiquer ou alors pourriez-vous me dire où je me suis trompé svp ?
Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #!C:\perl\bin\perl -w use strict; use File::Copy; my $date=localtime; print "\n************ $date: DEBUT DU SCRIPT $0 ************\n\n"; my $fromdir="D:/EAIGEF/dis/$ARGV[0]"; my $todir="//serveur2/$ARGV[2]/$ARGV[1]/$ARGV[0]"; chdir $fromdir; foreach my $file ( <fic*.txt> ) { print "Le fichier traite est: $file\n"; move($fromdir."/".$file,$todir."/".$file) or die "move: ************ $date: FIN ANORMALE DU SCRIPT $0 **********: $!\n"; print "Le fichier $file a ete transfere sur $todir.\n"; } print "\n************ $date: FIN NORMALE DU SCRIPT $0 ************\n";
Partager