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
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
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?
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
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 ?
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.
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
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
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
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.
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:
un fichier CSV du genre:Ligne 2 ; position 6 ; 3 ; nom de la société
Ligne 3 ; position 40 ; 5 ; numéro de facture
(C'est juste un exemple, à toi de déterminer l'agencement qui t'arrange le mieux pour te faciliter le travail.)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 2;6;3;nom 3;40;5;num_fact
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
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
Voilà ce que je souhaiterai faire mais je ne vois pas du tout comment faire en partant de mon code :
Et voici ce que je voudrais essayer de faire dans le fichier ci-joint
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";
Pièce jointe 199328
Pièce jointe 199329
Pièce jointe 199330
Cordialement
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager