Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1481 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  Comparaison de 2 fichiers

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comparaison de 2 fichiers

n°1193866
blacksun2
Posté le 07-09-2005 à 10:43:23  profilanswer
 

Bonjour,
 
Je suis actuellement en stage et l'on me demande d'ecricre un script en perl pouvant faire la comparaison entre 2 fichier à jour J et jour J-1.
D'en ressortir les differences pour prevenir l'admin d'une éventuelle modification de parametre d'un individu (ex: date de sortie prorogé) ou d'ajout complet d'une personne.
 
Les fichiers sont de format txt sous la forme:
Matricule;Sexe;Nom;Prenom;cf;libCF;Date sortie
0072583;MR;MOUGIN;PAUL;011;CARTERS;30;
0075350;MR;GENTILS;PATRICK;011;CARTERS;32;
etc...
 
Apres avoir chercher sur le forum j'ai fait un premier jet qui ne fonctionne pas (et d'ailleurs qui ne prend pas en compte tout les desirata) en effet il n'arrive pas à comparer chaque valeur entre ";" de chaque fichier avec l'autre.
Pour faire un essai j'essaye juste de comparer les differentes date de sortie
 
 
#!C:\Perl\bin\perl.exe  
 
use strict;
 
my @tab=();
my $file="e:/fc.txt";
 
print "ouverture du fichier Jour J\n";
open(my $fd, $file) or die "$file : $!";
 
foreach my $line(<$fd> ) {
    chomp($line);
my @datas=split(";", $line);
    print $datas[6]."\n"
}
system "pause \n";
 
close($fd);
 
print "ouverture du fichier Jour J-1\n",
 
my @tab1=();
 
my $file="e:/fc1.txt";
open(my $fd, $file) or die "$file : $!";
foreach my $line(<$fd> ) {
        chomp($line);
  my @datas1=split(";", $line);
    print $datas1[6]."\n"
}
system "pause \n";
 
close($fd);
 
print "comparaison des 2 fichiers\n";
 
system "pause \n";
 
if (@tab != @tab1){print "Il y a eu ajout d'utilisateur \n";}  
else {print "Pas d'ajout dans la base de donnee\n";}
 
system "pause \n";
 
if ( $tab[6] != $tab1[6] || $tab[6] ne $tab1[6] ){print "Il y a une modification de la date de sortie \n";}  
 
else {print "Pas de modification de la date de sortie\n";}
 
system "pause \n";
 
Et depuis je me casse les dents dessus, toutes aides seraient la bienvenue.
merci d'avance

mood
Publicité
Posté le 07-09-2005 à 10:43:23  profilanswer
 

n°1193904
Elmoricq
Modérateur
Posté le 07-09-2005 à 11:30:55  profilanswer
 

Solution : avoir le réflexe CPAN ( http://www.cpan.org/ ), et utiliser l'un des modules suivant :
 
Text::Diff : http://search.cpan.org/~rbs/Text-D [...] xt/Diff.pm
 
File::Compare : http://search.cpan.org/~ni-s/File- [...] Compare.pm  
 
Array::Compare : http://search.cpan.org/~davecross/ [...] Compare.pm
 


Message édité par Elmoricq le 07-09-2005 à 11:37:05

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  Comparaison de 2 fichiers

 

Sujets relatifs
[JAVA] Problème de déplacement de fichiersdecompresser un zip dont un des fichiers a un mauvais CRC
[Struts-Java] Gèrer des fichiers (documents .doc)Extraction en ligne de commande de fichiers compressés.
[3D] format de fichiers image pour textures 3D (dds, tga, png)Comparaison d edeux fichiers, formatage
comparaison de deux fichiers!! SOSShell - comparaison de fichiers de deux répertoires
[MSDOS]Comparaison de fichiers sous dos (comp)Comparaison de 2 fichiers ?
Plus de sujets relatifs à : Comparaison de 2 fichiers


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR