IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

fichier paramètre en perl


Sujet :

Langage Perl

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 183
    Points : 32
    Points
    32
    Par défaut fichier paramètre en perl
    Bonjour à tous,

    Est ce que quelqu'un pourrait m'aiguiller sur ce qu'est un fichier paramètre en perl ?

    Bonne journée à tous

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    Il n'y a rien en Perl portant spécifiquement un tel nom. Je pense donc qu'il s'agit du sens général de fichier de paramétrage d'un traitement, indépendamment du langage de programmation utilisé. Peut-être pourrais-tu fournir le contexte?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 183
    Points : 32
    Points
    32
    Par défaut
    Ca serait basé sur l'extraction de données de plusieurs factures qui serait redirigé vers vers un fichier paramètre_facture.txt

    Récupération du nom de la socièté
    Récupération du n° de facture
    Récupération du nom de client
    Récupération du n° de client

    Dans une ancienne discussion on m'a aidé à récupérer ces informations.

    Est-ce un peu plus claire ?

  4. #4
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    Oui, je me souviens très bien de cette discussion. Que veux-tu mettre dans un fichier de paramètres? Les informations à capturer? Les regex pour le faire? Le répertoire où aller chercher les fichiers à traiter? Le nom des fichiers? Autre chose?

    Aide-nous à t'aider, explique clairement ce que tu cherches à faire.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 183
    Points : 32
    Points
    32
    Par défaut
    Le nom du champ à récupérer exemple n°de facture, avec le nombre de caractère et la valeur du champ retenu

    Exemple : n°de facture, 5, 15428

    Pour retrouver plus facilement sa position

    Est-ce un peu plus claire ? Désolé d'être aussi peu précis mais je n'arrive pas encore à bien visualiser la struture de ce fichier paramètre

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 183
    Points : 32
    Points
    32
    Par défaut
    Bonjour,

    Je viens de trouver quelques informations concernant les fichiers de paramètre

    Voir pièce jointe

    Le fichier paramètre permet de modifier l'information se trouvant dans sle fichier txt et non dans le programme.

    Je vous met également un fichier facture pour que sa vous aide à comprendre mon problème.

    Par contre avec cette nouvelle méthode je ne sais pas si mon programme que j'ai réalisé sur l'extraction de donnée peut encore me servir.

    Merci pour votre aide.

    Cordialement

  7. #7
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par solerian Voir le message

    Le fichier paramètre permet de modifier l'information se trouvant dans sle fichier txt et non dans le programme.
    Disons qu'il permet de rendre le programme plus générique et de modifier le traitement que le programme applique au fichier sans modifier le programme lui-même.


    Citation Envoyé par solerian Voir le message
    Par contre avec cette nouvelle méthode je ne sais pas si mon programme que j'ai réalisé sur l'extraction de donnée peut encore me servir.
    Il est à craindre que non... Du moins pas la partie utilisant des regex, puisque le fichier de paramètres spécifie des emplacements précis dans le fichier en entrée, du genre "ligne 3, position 40, longueur 5".

    Là, il faut sans doute lire le fichier en entrée ligne à ligne, s'arrêter quand on est sur une des lignes mentionnées dans le fichier de paramétrage (par exemple 3), et récupérer ce qui se trouve à l'emplacement indiqué, par exemple avec la fonction substr.

    Mais avant de faire cela, il faut lire le fichier de paramétrage et charger son contenu en mémoire pour savoir quoi faire avec les lignes concernées. Ton fiochier de paramétrage doit reprendre essentiellement le contenu du fichier que tu as joint, mais sous une forme simplifiée plus facile à exploiter, par exemple, pour:
    Ligne 2 ; position 6 ; 3 ; nom de la société
    Ligne 3 ; position 40 ; 5 ; numéro de facture
    un fichier CSV du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    2;6;3;nom
    3;40;5;num_fact
    (C'est juste un exemple, à toi de déterminer l'agencement qui t'arrange le mieux pour te faciliter le travail.)

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 183
    Points : 32
    Points
    32
    Par défaut
    Bonjour,

    Tu prends l'exemple d'uiliser un fichier CSV est ce que la commande pour Importer un fichier CSV va être la même chose que sur Powershell ?
    Import-Csv fichier.csv -Delimiter ';' ? Ou celà va être une nouvelle stucture en Perl ?

    J'ai du mal à visualiser la tête de mon programme maintenant parce que je ne vois pas comment je vais récupérer mes valeurs dans ce fichier paramètre

    Etant donné que je ne peux pas dire numéro de facture, nom de la socièté, nom du client et numéro client
    Commet savoir que c'est ses informations qui vont être retournées ?

    Cordialement

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 183
    Points : 32
    Points
    32
    Par défaut
    Voilà ce que je souhaiterai faire mais je ne vois pas du tout comment faire en partant de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    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";
    }
     
    my $File = 'C:/Users/baranowp/Documents/2016_01_07_08/facture/facture.txt';
    open my $FILE, "<", $File or die "Ouverture impossible de $File $!";
     
    my ($societe, $num_fact, $client, $num_cli, $next_ligne);
    $societe = "";
    $num_fact = "";
    $client = "";
    $num_cli = "";
     
    while (<$FILE>) {
    	chomp;
    	$societe = $1 if /^Le nom de votre société\s+:\s+(\w+)/;
    	$num_fact = $1 if /^\s+F A C T U R E n°\s*(\d+)/;
    	if (/\s+Société  et\/ou  Nom  du  client :/) {
    		$next_ligne = <$FILE>;
    		$next_ligne = <$FILE>; 
    		$client = $1 if /^\s+Société  et\/ou  Nom  du  client :\s+(\w+)/;
    	}
    	$num_cli = $1 if /^N°client\s+:\s+(\d+)/;
     }
    print "Société: $societe\nFacture n°: $num_fact\nClient: $client\nN°client: $num_cli\n";
    Et voici ce que je voudrais essayer de faire dans le fichier ci-joint

    Pièce jointe 199328
    Pièce jointe 199329
    Pièce jointe 199330

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Manipulation d'un fichier XML avec Perl
    Par brahak dans le forum Modules
    Réponses: 3
    Dernier message: 01/05/2006, 22h36
  2. sql loader et fichier paramètre dynamique
    Par ade05fr dans le forum SQL*Loader
    Réponses: 3
    Dernier message: 13/01/2006, 14h54
  3. Réponses: 2
    Dernier message: 13/07/2005, 13h53
  4. [langage]parcours fichier txt en perl sous windows
    Par stef74 dans le forum Langage
    Réponses: 12
    Dernier message: 23/06/2005, 16h39
  5. parser des fichier .xml en perl
    Par djibril dans le forum Modules
    Réponses: 13
    Dernier message: 18/05/2004, 17h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo