1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
use strict;
use warnings;
use Data::Dumper;
#strict et warnings : sont deux modules internes à Perl permettant de vérifier la syntaxe de votre code et de vous alerter à la compilation du programme ;
require "./Fonctions/FonctionFichiers.pl";
# Afin de mettre en évidence ce type de problème, nous pouvons forcer la déclaration de chaque variable avant son utilisation en faisant appel au module « strict » par l'insertion après la première ligne du script de l'instruction 'use strict'.
Ce cas marche avec e lanceur perl lirefic.pl ./dev/SIM/R/21 ./dev/SIM/R/21 (en ajoutant un espace après le second paramètre?
Quid de cette espace? why pourquoi ce problème?
# variable global
my $fichier_1 = $ARGV[0];
my $fichier_2 = $ARGV[1];
my @T_fic1=undef;
my @T_fic2=undef;
my %files_hash_1;
my %files_hash_2;
my $header_fic_log = "Nomfichier;Nombre d'enregistrement F1";
# debut code
# doit contenir : nom du fichier + longueur.
# print " $ARGV[0] \n";
# print " $ARGV[1] \n";
# liste les fichiers *.dat des répertoire
# print "Appel aux fonctions \n";
@T_fic1 = listedesfichiers( $ARGV[0], '*.dat' );
push( @T_fic1,listedesfichiers( $ARGV[0], '*.err' ));
@T_fic2 = listedesfichiers( $ARGV[1], '*.dat' );
push( @T_fic2,listedesfichiers( $ARGV[1], '*.err' ));
######################
# MAIN #
######################
#debug mode
# print ("@T_fic1 \n ");
# print ("@T_fic2 \n ");
foreach my $name ( @T_fic1) {
#debug mode
# print "$name\n";
my $line_count = 0 ;
$line_count = compteurdeligne_fichier($name);
#print ("comp = $line_count \n");
my $taillefic = -s $name;
my @deffic =Nomfic( $name);
# print (" @deffic \n");
$files_hash_1{$name} = { taille => $taillefic , lignes => $line_count ,topvalide => "faux", nomfic => $deffic[1] , nomrep => $deffic[2] };
}
print Dumper \%files_hash_1;
foreach my $name ( @T_fic2) {
#debug mode
print "$name\n";
my $line_count = 0 ;
$line_count = compteurdeligne_fichier($name);
#print ("comp = $line_count \n");
my $taillefic = -s $name;
my @deffic =Nomfic( $name);
# print (" @deffic \n");
$files_hash_2{$name} = { taille => $taillefic , lignes => $line_count ,topvalide => "faux", nomfic => $deffic[1] , nomrep => $deffic[2] };
}
print Dumper \%files_hash_2;
# comptages enregitrement fichier r
# open( my $fichierlog,'+>','Resultat1.log') or die("open: $!");
# print($fichierlog "$header_fic_log \n");
# foreach my $name ( @T_fic1) {
# print "$name\n";
# $cpt = compteurdeligne_fichier($name);
# print "comp =$cpt";
# print ("$fichierlog;$name;$cpt");
# }
# close($fichierlog);
#
exit; |
Partager