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

  FORUM HardWare.fr
  Programmation
  Perl

  utilisation d'un fichier d'initialisation

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

utilisation d'un fichier d'initialisation

n°2277240
solerian
Posté le 09-03-2016 à 10:34:59  profilanswer
 

Bonjour à tous,
 
Je souhaiterai utiliser un  fichier d'initialisation pour ne plus faire apparaître les arborescences dans mon programme.
Parce que le code que j'utilisais possédé les différentes arborescence et je souhaite m'en débarrasser :

Code :
  1. use strict;
  2. use warnings;
  3. sub GetFilesList
  4. {
  5.         my $Path = $_[0];
  6.         my $FileFound;
  7.         my @FilesList=();
  8.         ## Lecture de la liste des fichiers
  9.         opendir (my $FhRep, $Path)
  10.                 or die "Impossible d'ouvrir le repertoire $Path\n";
  11.         my @Contenu = grep { !/^\.\.?$/ } readdir($FhRep);
  12.         closedir ($FhRep);
  13.         foreach my $FileFound (@Contenu) {
  14.                 ## Traitement des fichiers
  15.                 if ( -f "$Path/$FileFound" ) {
  16.                         push ( @FilesList, "$Path/$FileFound" );
  17.                 }
  18.                 ## Traitement des repertoires
  19.                 elsif ( -d "$Path/$FileFound" ) {
  20.                         ## Boucle pour lancer la recherche en mode recursif
  21.                         push (@FilesList, GetFilesList("$Path/$FileFound" ) );
  22.                 }
  23.         }
  24.         return @FilesList;
  25. }
  26. my @Files = GetFilesList ('C

    Spoiler :

    :/Users/baranowp/Documents/2016_01_07_08

    /facture/');

  27. foreach my $File  (@Files) {
  28. next unless $File =~ /\.txt$/i;
  29. print "$File \n";
  30. }
  31. @Files = GetFilesList ('C:/

    Spoiler :

    Users/baranowp/Documents/2016_02_04_05/

    bulletin_paie/');

  32. foreach my $File  (@Files) {
  33. next unless $File =~ /\.txt$/i;
  34. print "$File \n";
  35. }


Ce code m'affiche tout les fichiers de type txt se trouvant dans le répertoire facture et bulletin_paie.
 
Je souhaite utiliser un fichier d'initialisation pour remédier à ce problème.
 
Voici le contenu de ce fichier d'initialisation param.ini :
[repertoire]
REP_FACTURE=C:\

Spoiler :

Users\baranowp\Documents\2016_01_07_08

\facture\
REP_BULLETIN=C:\

Spoiler :

Users\baranowp\Documents\2016_02_04_05\

bulletin_paie\
 
Voici le code que j'utilise en ce moment :

Code :
  1. use strict;
  2. use warnings;
  3. my $Message_div = "";
  4. if ($ARGV[0] eq "" )
  5. {
  6. $Message_div="Erreur dans le nb argument(s) dans le fichier parametre .txt";
  7. }
  8. else
  9. {
  10. my $Fichier_ini = "$ARGV[0]";
  11. my $Path = "";
  12. my $FhRep = "";
  13. open (Fic_util_ini,"$Fichier_ini" );
  14. while (my $ln_ligne =<Fic_util_ini> )
  15. {
  16.  my $l1="";
  17.  my $l2="";
  18.  ($l1, $l2) = split('=',$ln_ligne, 2);
  19.  if ($l1 eq "REP_FACTURE" )
  20.  {
  21.   my $RepFacture=$l2;
  22.  }
  23.  if ($l2 eq "REP_BULLETIN" )
  24.  {
  25.   my $RepBulletin=$l2;
  26.  }
  27. }
  28. }
  29. close Fic_util_ini;


Je ne vois pas coment je peux utiliser la fonction GetFilesList dans mon programme, et je ne sais pas si mon programme fait appel à mon fichier d'initialisation.
 
J'espère que mes explications sont claires, si vous voulez plus d'informations n'hésiter pas.
 
Cordialement

mood
Publicité
Posté le 09-03-2016 à 10:34:59  profilanswer
 

n°2277315
gilou
Modérateur
Modzilla
Posté le 09-03-2016 à 16:36:54  profilanswer
 

Pourquoi faire ça à la main, alors qu'il y a déjà des modules pour cela:
Config::IniFiles, Config::Simple ou Config::Ini (ou d'autres)
Choisis celui le plus adapté à tes besoins.
 
Par exemple, avec Config::IniFiles  (je te déconseille Config::Simple, j'ai testé, et il est pas très pratique)
 
use Config::IniFiles;
......
my $cfg = Config::IniFiles->new( -file => $ARGV[0] );
....
my $RepFacture  = $cfg->val('repertoire', 'REP_FACTURE');
my $RepBulletin = $cfg->val('repertoire', 'REP_BULLETIN');
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2277316
solerian
Posté le 09-03-2016 à 16:40:42  profilanswer
 

En faisant ce que tu me dis est ce qu'il va m'afficher tout les fichiers .txt qui se trouve dans le répertoire facture ?  
Idem pour le répertoire bulletin_paie ?
 
Je vais essayer ta méthode je te tiens au courant au plus vite.
 
Merci pour ton aide.

n°2277356
rat de com​bat
attention rongeur méchant!
Posté le 09-03-2016 à 18:13:07  profilanswer
 

Le code de gilou te sortira les chemins d'accèss de ton .ini, faudra ensuite appeler GetFilesList() avec (ou une fonction semblable).

n°2277370
gilou
Modérateur
Modzilla
Posté le 09-03-2016 à 22:29:46  profilanswer
 

Oui, le code que je t'ai donné, c'est pour exploiter ton .ini
 
Pour le reste, tu pourrais utiliser ta fonction GetFileList, mais la encore, il y a un module (standard) pour cela (et bien plus): File::Find
 

Code :
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use Config::IniFiles;
  5. use File::Find;
  6. use File::Spec;
  7.  
  8. my @directories_to_process;
  9. my @filelist;
  10.  
  11. my $cfg = Config::IniFiles->new( -file => $ARGV[0] );
  12. foreach ('REP_FACTURE','REP_BULLETIN') {
  13.  push @directories_to_process, $cfg->val('repertoire', $_) if $cfg->val('repertoire', $_);
  14. }
  15. find(\&wanted, @directories_to_process);
  16. sub wanted {
  17.  push @filelist, File::Spec->canonpath($File::Find::name) if (-f $_);
  18. }


find fait le parcours récursif et appelle wanted pour chaque repertoire ou fichier trouvé
si c'est un fichier ( if (-f $_)) on ajoute à la liste le nom avec son path absolu à la liste (push @filelist, $File::Find::name)
Mais comme find met les noms (relatifs) sous forme unix, on remet ça en forme avant avec canonpath.
 
A+,
 
 
 
 


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2277387
solerian
Posté le 10-03-2016 à 09:53:00  profilanswer
 

Bonjour,
 
Je viens d'instyaller Strawberry perl
 
lorsque j'exécute mon programme dans Powershell j'utilise la commande la suivante :
 
perl.exe C:\Users\baranowp\Documents\2016_03_07_11\param.pl C:\Users\baranowp\Documents\2016_03_07_11\param.ini
 
J'obtiens ce message d'erreur :
Can't locate Config/IniFiles.pm in @INC (you may need to install the Config::IniFiles module) (@INC contains: C:/Strawberry/perl/site/lib C:/Strawberry/perl/vendor/lib C:/Strawberry/perl/lib .) at C:\Users\baranowp\Documents\2016_03_07_11\param.pl line 3.
BEGIN failed--compilation aborted at C:\Users\baranowp\Documents\2016_03_07_11\param.pl line 3.
 
Et lorsque j'exécute mon programme depuis Geany j'obtiens :
' perl' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes.

n°2277403
rat de com​bat
attention rongeur méchant!
Posté le 10-03-2016 à 13:23:00  profilanswer
 
n°2277410
gilou
Modérateur
Modzilla
Posté le 10-03-2016 à 14:10:09  profilanswer
 

solerian a écrit :

Bonjour,
 
Je viens d'instyaller Strawberry perl
 
lorsque j'exécute mon programme dans Powershell j'utilise la commande la suivante :
 
perl.exe C:\Users\baranowp\Documents\2016_03_07_11\param.pl C:\Users\baranowp\Documents\2016_03_07_11\param.ini
 
J'obtiens ce message d'erreur :
Can't locate Config/IniFiles.pm in @INC (you may need to install the Config::IniFiles module) (@INC contains: C:/Strawberry/perl/site/lib C:/Strawberry/perl/vendor/lib C:/Strawberry/perl/lib .) at C:\Users\baranowp\Documents\2016_03_07_11\param.pl line 3.
BEGIN failed--compilation aborted at C:\Users\baranowp\Documents\2016_03_07_11\param.pl line 3.
 
Et lorsque j'exécute mon programme depuis Geany j'obtiens :
' perl' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes.

Ca te dit qu'il manque le module Config::IniFiles et qu'il faut l'installer.
 
L'article suivant: http://www.thegeekstuff.com/2008/0 [...] n-command/ dans sa seconde partie "Install Perl Modules using CPAN automatically" va vous expliquer très clairement la marche a suivre.
 
Bref vous installez cpan s'il n'est pas déjà installé, en suivant la procédure indiquée, puis vous faites
# cpan
....
cpan[1]> install "Config::IniFiles";
...
cpan[...]>quit
#
 
et ça devrait rouler (sauf erreur lors de l'installation du module par cpan, mais c'est relativement rare).
 
A+,


Message édité par gilou le 10-03-2016 à 14:12:44

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2277414
solerian
Posté le 10-03-2016 à 14:25:08  profilanswer
 

Je comprends mieux ma fonction GetFilesList mais j'ai quand même un message d'erreur que je ne comprend pas  
 
Voici mon code :
use strict;
use warnings;
use Config::IniFiles;
 
my @directories_to_process;
my @filelist;
my $cfg = Config::IniFiles->new( -file => $ARGV[0] );
foreach ('REP_FACTURE','REP_BULLETIN') {
   push @directories_to_process, $cfg->val('repertoire', $_) if $cfg->val('repertoire', $_);
   }
 
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";
}
Voici le message d'erreur :
Use of uninitialized value $Path in opendir at C:\users\baranowp\Documents\2016_03_07_11\param.pl line 22.
Use of uninitialized value $Path in concatenation (.) or string at C:\users\baranowp\Documents\2016_03_07_11\param.pl line 22.

n°2277420
rat de com​bat
attention rongeur méchant!
Posté le 10-03-2016 à 14:50:14  profilanswer
 

Tes appels de GetFilesList() ne sont pas bons. Le code de gilou sauvegarde les deux chemins d'accès dans @directories_to_process, donc soit tu utilises ça, soit tu adaptes le code.

 

Soit

Code :
  1. my @Files = GetFilesList($directories_to_process[0]);
  2. #....
  3.  
  4. @Files = GetFilesList($directories_to_process[1]);
  5. #...


soit

Code :
  1. #virer le foreach au début
  2.  
  3. my @Files = GetFilesList($cfg->val('repertoire', 'REP_FACTURE'))
  4. #...
  5.  
  6. @Files = GetFilesList($cfg->val('repertoire', 'REP_BULLETIN'))
  7. #...


(non testé)

 

edit: Balises ton code!


Message édité par rat de combat le 10-03-2016 à 14:51:37
mood
Publicité
Posté le 10-03-2016 à 14:50:14  profilanswer
 

n°2277431
solerian
Posté le 10-03-2016 à 15:46:14  profilanswer
 

Lorsque j'utilise ma commande perl.exe C:\Users\baranowp\Documents\2016_03_07_11\param.pl C:\Users\baranowp\Documents\2016_03_07_11\param.ini,
j'obtiens ce que je souhaite.
 
Maintenant il ne me reste plus qu'à traiter la seconde partie du fichier d'initialisation qui sont les fichiers paramètres
Contenu du fichier d'initialisation :  
[repertoire]
REP_FACTURE=C:\Users\baranowp\Documents\2016_01_07_08\facture\
REP_BULLETIN=C:\Users\baranowp\Documents\2016_02_04_05\bulletin_paie\
 
[param_facture]
PARAM_FACTURE=C:\Users\baranowp\Documents\2016_01_28_29\param_facture.txt
PARAM_FACTURE_LOG=C:\Users\baranowp\Documents\2016_01_28_29\param_facture.log
 
Voici le programme utilisé pour traiter le fichier d'initialisation :
 
Code :

Code :
  1. use strict;
  2. use warnings;
  3. use Config::IniFiles;
  4. my @directories_to_process;
  5. my @filelist;
  6. my $cfg = Config::IniFiles->new( -file => $ARGV[0] );
  7. foreach ('REP_FACTURE','REP_BULLETIN') {
  8.   push @directories_to_process, $cfg->val('repertoire', $_) if $cfg->val('repertoire', $_);
  9.   }
  10. foreach ('PARAM_FACTURE','PARAM_FACTURE_LOG') {
  11.   push @directories_to_process, $cfg->val('param_facture', $_) if $cfg->val('param_facture', $_);
  12.   }
  13. sub GetFilesList
  14. {
  15.         my $Path = $_[0];
  16.         my $FileFound;
  17.         my @FilesList=();
  18.         ## Lecture de la liste des fichiers
  19.         opendir (my $FhRep, $Path)
  20.                 or die "Impossible d'ouvrir le repertoire $Path\n";
  21.         my @Contenu = grep { !/^\.\.?$/ } readdir($FhRep);
  22.         closedir ($FhRep);
  23.         foreach my $FileFound (@Contenu) {
  24.                 ## Traitement des fichiers
  25.                 if ( -f "$Path/$FileFound" ) {
  26.                         push ( @FilesList, "$Path/$FileFound" );
  27.                 }
  28.                 ## Traitement des repertoires
  29.                 elsif ( -d "$Path/$FileFound" ) {
  30.                         ## Boucle pour lancer la recherche en mode recursif
  31.                         push (@FilesList, GetFilesList("$Path/$FileFound" ) );
  32.                 }
  33.         }
  34.         return @FilesList;
  35. }
  36. my @Files = GetFilesList ($directories_to_process[0]);
  37. foreach my $File  (@Files) {
  38. next unless $File =~ /\.txt$/i;
  39. print "$File \n";
  40. }
  41. @Files = GetFilesList  ($directories_to_process[1]);
  42. foreach my $File  (@Files) {
  43. next unless $File =~ /\.txt$/i;
  44. print "$File \n";
  45. }
  46. my @tab = ();
  47. #my @tab1 = ();
  48. my $file =$directories_to_process[2]; ###param_facture.txt ###
  49. open(my $fic,$file) or die "$file: $!" ;
  50. my $param_facture = $directories_to_process[3]; ### param_facture.log###
  51. open my $PARAM, ">", "$param_facture" or die "Ouverture impossible de $param_facture $!";
  52. ## parcours les lignes du tableau
  53. print "facture : \n";
  54. foreach my $line(<$fic> ) {
  55.     chomp($line);
  56.     #print $line."\n";
  57. ## renvoi la position des valeurs qui  m'interesse 
  58.     @tab =split(";", $line);
  59.     print $tab [1]."\n";
  60.     print $tab [3]."\n";
  61.     print $tab [5]."\n";
  62.     print $tab [7]."\n";
  63. print "\n";
  64. #print $PARAM "$line\n";
  65. print $PARAM "$tab[1] $tab[3] $tab[5] $tab[7]\n";
  66. }   
  67. #close($fic);
  68. close ($PARAM);


Voici ce que m'affiche ce programme :  
La liste des différents fichiers contenu dans les répertoires factures et bulletin_paie et ce message d'erreur :
Use of uninitialized value $file in open at C:\users\baranowp\Documents\2016_03_07_11\param.pl line 55.
Use of uninitialized value $file in concatenation (.) or string at C:\users\baranowp\Documents\2016_03_07_11\param.pl line55.  
 

n°2277435
rat de com​bat
attention rongeur méchant!
Posté le 10-03-2016 à 16:07:27  profilanswer
 

Je suppose que le module a un problème à cause du désignateur(??) utilisé deux fois:

Citation :

[param_facture]
PARAM_FACTURE=C:\Users\baranowp\Documents\2016_01_28_29\param_facture.txt
PARAM_FACTURE_LOG=C:\Users\baranowp\Documents\2016_01_28_29\param_facture.log

 

Pour débugger tu peux rajouter genre print join("\n", @directories_to_process) après tes foreach (soit ligne 14 ou après).

 

Par contre ton code n'est pas très propre: @directories_to_process c'est des (noms de) dossiers, alors que ce que tu rajoutes dans ta deuxième boucle foreach c'est des (noms de) fichiers. Rien ne t'empêches de faire autrement, genre

Code :
  1. my $cfg = Config::IniFiles->new( -file => $ARGV[0] );
  2.  
  3. foreach ('REP_FACTURE','REP_BULLETIN') {
  4.  push @directories_to_process, $cfg->val('repertoire', $_) if $cfg->val('repertoire', $_);
  5. }
  6.  
  7. my $param_facture=$cfg->val('param_facture', 'PARAM_FACTURE'); #à revoir, cf mon message
  8. my $facture_log=$cfg->val('param_facture', 'PARAM_FACTURE_LOG');
  9.  
  10. #vérifications du contenu des deux variables?
  11. #...
  12.  
  13. open(my $fic, $param_facture) or die "$param_facture: $!";
  14. #....


(non testé)

 

Astuce: Tu peux te passer des vérifications sur open() si tu utilises (rajout au début) use Autodie;


Message édité par rat de combat le 10-03-2016 à 16:08:32
n°2277438
solerian
Posté le 10-03-2016 à 16:20:44  profilanswer
 

C'est ce que j'ai fait j'ai modifié les variables de cette façon :

Code :
  1. my @parametre;
  2. foreach ('PARAM_FACTURE','PARAM_FACTURE_LOG') {
  3.   push @parametre, $cfg->val('param_facture', $_) if $cfg->val('param_facture', $_);
  4.   }
  5. y @tab = ();
  6. #my @tab1 = ();
  7. my $file =$parametre[0];
  8. open(my $fic,$file) or die "$file: $!" ;
  9. my $param_facture = $parametre[1];
  10. open my $PARAM, ">", "$param_facture" or die "Ouverture impossible de $param_facture $!";
  11. ## parcours les lignes du tableau
  12. print "facture : \n";
  13. foreach my $line(<$fic> ) {
  14.     chomp($line);
  15.     #print $line."\n";
  16.    
  17. ## renvoi la position des valeurs qui  m'interesse 
  18.     @tab =split(";", $line);
  19.     print $tab [1]."\n";
  20.     print $tab [3]."\n";
  21.     print $tab [5]."\n";
  22.     print $tab [7]."\n";
  23. print "\n";
  24. #print $PARAM "$line\n";
  25. print $PARAM "$tab[1] $tab[3] $tab[5] $tab[7]\n";
  26. }   
  27. #close($fic);
  28. close ($PARAM);

n°2277442
rat de com​bat
attention rongeur méchant!
Posté le 10-03-2016 à 16:55:29  profilanswer
 

et alors, ça fonctionne?

n°2277444
solerian
Posté le 10-03-2016 à 16:59:06  profilanswer
 

oui ça fonctionne  :)  :lol:

n°2277483
solerian
Posté le 11-03-2016 à 16:17:52  profilanswer
 

Je rencontre un petit soucis,  
Dans mon programme je ne veux plus voir apparaître d'arborescence de ce fait j'utilise le fichier d'initialisation comme vu précédement, Pour la focntion GetFilesList j'ai réussi à l'utiliser mais pour ce cas de figure je ne vois vraiment pas comment l'utiliser. Pour générer mon fichier de paramètre.log  
Comme ceci ça fonctionne mais je ne veux plus voir l'arborescence.
 

Code :
  1. use strict;
  2. use warnings;
  3. use Config::IniFiles;
  4. my @parametre;
  5. foreach ('PARAM_FACTURE','PARAM_FACTURE_LOG') {
  6.   push @parametre, $cfg->val('param_facture', $_) if $cfg->val('param_facture', $_);
  7.   }
  8. my @tab = ();
  9. #my @tab1 = ();
  10. my $file ="C:/Users/baranowp/Documents/2016_01_28_29/param_facture.txt";
  11. open(my $fic,$file) or die "$file: $!" ;
  12. my $param_facture = "C:/Users/baranowp/Documents/2016_01_28_29/param_facture.log";
  13. open my $PARAM, ">", "$param_facture" or die "Ouverture impossible de $param_facture $!";
  14. ## parcours les lignes du tableau
  15. print "facture : \n";
  16. foreach my $line(<$fic> ) {
  17.     chomp($line);
  18.     #print $line."\n";
  19. ## renvoi la position des valeurs qui  m'interesse 
  20.     @tab =split(";", $line);
  21.     print $tab [1]."\n";
  22.     print $tab [3]."\n";
  23.     print $tab [5]."\n";
  24.     print $tab [7]."\n";
  25. print "\n";
  26. #print $PARAM "$line\n";
  27. print $PARAM "$tab[1] $tab[3] $tab[5] $tab[7]\n";
  28. }   
  29. #close($fic);
  30. close ($PARAM);


 
Voici le fichier d'initialisation :
[param_facture]
PARAM_FACTURE=C:\Users\baranowp\Documents\2016_01_28_29\param_facture.txt
PARAM_FACTURE_LOG=C:\Users\baranowp\Documents\2016_01_28_29\param_facture.log
 
Cordialement

n°2277488
rat de com​bat
attention rongeur méchant!
Posté le 11-03-2016 à 16:37:16  profilanswer
 

C'est moi qui a mal compris ou tu cherches simplement un truc genre

Code :
  1. #OU L'INVERSE!
  2. my $file=$parametre[0];
  3. my $param_facture=$parametre[1];

??
Dans ce cas autant virer le @parametre et la boucle qui va avec:

Code :
  1. #OU L'INVERSE!
  2. my $file=$cfg->val('param_facture', 'PARAM_FACTURE');
  3. my $param_facture=$cfg->val('param_facture', 'PARAM_FACTURE_LOG');

n°2277490
solerian
Posté le 11-03-2016 à 16:47:06  profilanswer
 

oui je veux un truc comme ça  

Code :
  1. my $file ="C:/Users/baranowp/Documents/2016_01_28_29/param_facture.txt";
  2. open(my $fic,$file) or die "$file: $!" ;
  3. my $param_facture = "C:/Users/baranowp/Documents/2016_01_28_29/param_facture.log";
  4. open my $PARAM, ">", "$param_facture" or die "Ouverture impossible de $param_facture $!";


 
De ce fait j'obtiendrais ça :  
 

Code :
  1. my @parametre;
  2. foreach ('PARAM_FACTURE','PARAM_FACTURE_LOG') {
  3. push @parametre, $cfg->val('param_facture', $_) if $cfg->val('param_facture', $_);
  4. }
  5. my $file=$parametre[0];
  6. open(my $fic,$file) or die "$file: $!"
  7. my $param_facture=$parametre[1];
  8. open my $PARAM, ">", "$param_facture" or die "Ouverture impossible de $param_facture $!";


 


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

  utilisation d'un fichier d'initialisation

 

Sujets relatifs
Lire fichier excel écrire dans bddImpact modification "type" d'un fichier
[C / C#] Exécuter un fichier C sans le compilerMacro Excel - Importation fichier htm
Modification droit fichier en ligne de commande .bat[Script] Formatter un fichier plat à partir d'une clause copy
[VBA/Excel] Ouverture de Fichier User Friendlyimporter données vers autre fichier excel automatiquement
récupérer valeur JComboBox dans une fichier txtcomment récupérer valeur JComboBox dans une fichier txt
Plus de sujets relatifs à : utilisation d'un fichier d'initialisation


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