|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité de passage
![]() Inscription : novembre 2012 Messages : 3 ![]() |
Bonjour,
Je suis plutôt débutant en perl, et essaie de développer un script servant à me créer des fiches de vocabulaire pour m'aider dans l'apprentissage d'une langue que j'étudie. Je note mon vocabulaire sur un fichier texte sous le format suivant (avec encore d'autres spécifications, que je ne vais pas mettre par souci de clarté) : mot1Langue1;mot1Langue2;natureDuMot;champLexical; mot2Langue1;mot2Langue2;natureDuMot;champLexical; ... Le but de mon script est de pouvoir filtrer les données de ce fichier, et créer une fiche de vocabulaire correspondant aux choix définis par l'utilisateur. Par exemple, me sortir une fiche avec tous les adjectifs correspondant au champ lexical "couleur" J'ai donc, au début de script, ce genre de chose : Code :
Ensuite, j'ouvre le fichier dans lequel je vais copier mes données : Code :
Arrive finalement le moment où je dois filtrer mes recherches et les copier dans le fichier. Dans la version d'essai, je n'avais qu'une condition, et ça marchait très bien : Code :
Seulement, puisque je voudrais maintenant prendre en compte plusieurs critères, ça n'est forcément plus si simple, et j'avoue arriver à cours d'idées concernant la marche à suivre pour y parvenir... Si quelqu'un avait une piste à me conseiller, je lui offrirai beaucoup, beaucoup de gratitude. --EDIT-- J'ai oublié de préciser ce qui pose vraiment problème : c'est qu'il est également nécessaire que l'on puisse ne pas spécifier toutes les conditions de recherche... Par exemple, ne demander que de sortir une fiche sur les adjectifs, ou encore, ne demander qu'une fiche sur le champ lexical de la couleur en général |
||||||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Laurent R.Conseil - Consultant en systèmes d'information Inscription : mai 2012 Messages : 572 ![]() |
Si je comprends bien, il suffit d'ajouter une seconde condition:
Code :
if ($cols[2] eq $nature and $cols[3] eq $chplex) { # ... Code :
__________________
Sauf mention contraire explicite, les bouts de code que je poste en réponse à une question n'ont pas forcément été testés. |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2012 Messages : 3 ![]() |
Merci pour ta réponse,
En fait, le problème persiste, car j'ai oublié de préciser qu'il faut envisager la possibilité que l'utilisateur ne définisse pas tous les critères... Je dois donc pouvoir avoir une fiche qui comprend : les adjectifs correspondant au champ lexical "nourriture"; ou encore les adjectifs en général, sans prendre en compte de champ lexical; les mots correspondant au champ lexical "nourriture" sans prendre en compte la nature ... A part dans le 1er cas, la condition ne fonctionne pas |
|
|
00
|
|
|
#4 | ||
|
Invité de passage
![]() Inscription : novembre 2012 Messages : 3 ![]() |
J'ai fini par trouver quelque chose qui semble fonctionner, je ne suis vraiment pas certain que ça soit la meilleure solution , mais ça me conviendra !
Code :
|
||
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Laurent R.Conseil - Consultant en systèmes d'information Inscription : mai 2012 Messages : 572 ![]() |
Bah, ce n'est peut-être pas la solution la plus élégante (et encore...), mais si ça marche et fait ce que tu veux, c'est le principal.
__________________
Sauf mention contraire explicite, les bouts de code que je poste en réponse à une question n'ont pas forcément été testés. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com