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
|
#!/usr/local/bin/perl
use strict;
use warnings;
my $LigneABE;
my $LigneT2DIR;
my $Var=0;
my $Space="";
my $TexteRecup = "";
my $BICABE;
my $BANK;
if(!$ARGV[0] || !$ARGV[1] || !$ARGV[2] )
{
die "Utilisation : \n perl acadd.pl nom_fichier_abe nom_fichier_t2dir nom_fichier_resultat\n";
}
else
{
my $ABEFile = $ARGV[0];
my $T2DIRFile = $ARGV[1];
my $VSACAD = $ARGV[2];
#Fichier Traitement Temp
open (DEST1, ">".$VSACAD."");
#Lecture du fichier T2Dir ligne par ligne
open (T2DIRFile, "$T2DIRFile") or die "Impossible d'ouvrir le fichier T2Dir\n";
while ($LigneT2DIR = <T2DIRFile>)
{
open (ABEFile,"$ABEFile") or die "Impossible d'ouvrir le fichier ABE\n";
while( $LigneABE=<ABEFile> )
{
my @ABE = split(/;/, $LigneABE);
my $recherche = $ABE[0];
if( $LigneT2DIR =~ /$recherche/ )
{
$Var = 1;
$BICABE = $ABE[1];
$BANK = $ABE[2];
if($BANK eq "")
{
$BANK = '00000';
}
last;
}
}
close(ABEFile);
if ($Var == 1) #CAS 1
{
$LigneT2DIR =~ s/\n//g;
$TexteRecup = $BANK.$LigneT2DIR.$BICABE."\n";
print DEST1 $TexteRecup;
$Var = 0;
}
else #CAS 2
{
$LigneT2DIR =~ s/\n//g;
print DEST1 "00000".$LigneT2DIR."XXXXXXXXXXX\n";
}
$TexteRecup ="";
}
close(T2DIRFile);
close(DEST1);
} |
Partager