Comment utiliser ini en Perl
Bonjour à tous,
Dans mon code j'ai des chemins absolu je ne souhaite pas les voir apparaître dans mon code
Voici mon code :
Code:
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
|
use strict;
use warnings;
sub GetFilesList
{
my $Path = $_[0];
my $FileFound;
my @FilesList=();
## Lecture de la liste des fichiers
opendir (my $FhRep, $Path)
or die "Impossible d'ouvrir le repertoire $Path\n";
my @Contenu = grep { !/^\.\.?$/ } readdir($FhRep);
closedir ($FhRep);
foreach my $FileFound (@Contenu) {
## Traitement des fichiers
if ( -f "$Path/$FileFound") {
push ( @FilesList, "$Path/$FileFound" );
}
## Traitement des repertoires
elsif ( -d "$Path/$FileFound") {
## Boucle pour lancer la recherche en mode recursif
push (@FilesList, GetFilesList("$Path/$FileFound") );
}
}
return @FilesList;
}
my @Files = GetFilesList ('C:/Users/baranowp/Documents/2016_01_07_08/facture/');
foreach my $File (@Files) {
next unless $File =~ /\.txt$/i;
print "$File \n";
}
@Files = GetFilesList ('C:/Users/baranowp/Documents/2016_02_04_05/bulletin_paie/');
foreach my $File (@Files) {
next unless $File =~ /\.txt$/i;
print "$File \n";
} |
De ce fait je pense stocker tout les chemins absolu ou relatif dans un fichier d'initialisation
mon fichier ini contient :
[repertoire]
$repfacture = C:/Users/baranowp/Documents/2016_01_07_08/facture/
$repbulletin = C:/Users/baranowp/Documents/2016_02_04_05/bulletin_paie/
Comment faire appel au fichier ini dans mon programme ? J'ai essayé avec la fonction require
Dont voici le code :
Code:
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
|
use strict;
use warnings;
require fichier; ## fichier.ini##
sub GetFilesList
{
my $Path = $_[0];
my $FileFound;
my @FilesList=();
## Lecture de la liste des fichiers
opendir (my $FhRep, $Path)
or die "Impossible d'ouvrir le repertoire $Path\n";
my @Contenu = grep { !/^\.\.?$/ } readdir($FhRep);
closedir ($FhRep);
foreach my $FileFound (@Contenu) {
## Traitement des fichiers
if ( -f "$Path/$FileFound") {
push ( @FilesList, "$Path/$FileFound" );
}
## Traitement des repertoires
elsif ( -d "$Path/$FileFound") {
## Boucle pour lancer la recherche en mode recursif
push (@FilesList, GetFilesList("$Path/$FileFound") );
}
}
return @FilesList;
}
my @Files = GetFilesList my $repfacture;
foreach my $File (@Files) {
next unless $File =~ /\.txt$/i;
print "$File \n";
}
@Files = GetFilesList my $repbulletin;
foreach my $File (@Files) {
next unless $File =~ /\.txt$/i;
print "$File \n";
} |
J'obtiens ce message d'erreur :
Pièce jointe 202564
Merci d'avance pour votre aide
Cordialement