Perl programmation
Fermé
1207
Messages postés
18
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
25 janvier 2009
-
23 janv. 2009 à 16:37
1207 Messages postés 18 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 25 janvier 2009 - 25 janv. 2009 à 14:21
1207 Messages postés 18 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 25 janvier 2009 - 25 janv. 2009 à 14:21
A voir également:
- Perl programmation
- Application de programmation - Guide
- Programmation - Guide
- Denon perl pro test - Accueil - Audio
- Programmation logo tortue télécharger - Télécharger - Études & Formations
- Programmation binaire - Guide
10 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
23 janv. 2009 à 18:27
23 janv. 2009 à 18:27
Salut,
je n'ai jamais travaillé avec deux fichiers en lecture
Voici un exemple http://www.commentcamarche.net/forum/affich 2689406 fichiers texte en perl#4
je n'ai jamais travaillé avec deux fichiers en lecture
Voici un exemple http://www.commentcamarche.net/forum/affich 2689406 fichiers texte en perl#4
1207
Messages postés
18
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
25 janvier 2009
23 janv. 2009 à 18:42
23 janv. 2009 à 18:42
ouai merci, j'avais vu ce post tout a l'heure, mais ça n'a pas mardché, enfin je continue a chercher, c'est chaud...!!!
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
23 janv. 2009 à 18:48
23 janv. 2009 à 18:48
Re,
Si tes fichiers ne sont pas confidentiels tu peux le mettre sur cjoint.com pour que je jete un coup d'oeil.
Il sera souhaitable, que tu mets aussi ce que tu veux obtenir en sortie, puisque pour le moment je n'ai pas toute à fait compris ce que tu veux.
Si tes fichiers ne sont pas confidentiels tu peux le mettre sur cjoint.com pour que je jete un coup d'oeil.
Il sera souhaitable, que tu mets aussi ce que tu veux obtenir en sortie, puisque pour le moment je n'ai pas toute à fait compris ce que tu veux.
1207
Messages postés
18
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
25 janvier 2009
23 janv. 2009 à 19:00
23 janv. 2009 à 19:00
ok je vais le faire, pour ce que je veux en sortie, et bien c'est que ce programme soit capable de tranformer n'importe quel texte en schtroumpfeur, c'est a dire qu'une phrase comme : "le petit poisson est passé par la tranquilement "deviendra "le petit schtroumpf est schtroumpfé par la schtroumpfement. Il faut donc qu'a l'issue, tous les noms communs, les verbes du premier groupe, les suffixes en (em+ent|am+ent|age|ique|istes?), en faisant attention que les probleme de type "l'illusionniste" ne se transforme pas en "l'schtroumpfiste", puisque 2 consonne consecutive n'est pas possible... enfin voila, j'espere que c plus clair...j'y suis depuis quelques jours mais la je panique parce que je dois l'envoyer avant ce soir minuit et j'en suis la:
use strict;
use locale;
my $ligne;
my @t;
my @Ver;
my $i;
my $Ver;
my $article;
my $mot;
open ( IN, "<", "C:\\SL03OP1\\Programmes-Perl\\test.txt") or die "Impossible d'ouvrir le fichier!\n";
open (ENTREE,"<", "C:\\Users\\jc\\Documents\\lexiqueABU.txt") or die "impossible d'ouvrir ABU!\n";
open ( OUT, ">", "C:\\SL03OP1\\Programmes-Perl\\mots.txt") or die "Impossible de créer mots.txt!\n";
while ( $ligne = <IN>) {
chomp $ligne;
while ($ligne =~ /(\w+|['\(\)"\[-\],;.\?:!#\<\>\\\/])/g){
push (@t, $1);
}
}
$i=0;
while ( $mot = <ENTREE>) {
chomp $mot;
while ($mot =~/(\w*)\t(\w*)\tVer$/g) {
push (@Ver, $1);
}
}
$i=0;
while ($i <=$#t) {
$t[$i]=~s/^(\w+)(em+ent|am+ent|age|ique|istes?)$/schtroumpf\2/;
print OUT $t[$i],"\n";
$i=$i+1;
if ($t[$i]=~/^(une?|les?|la|'|du|des)$/i) {
$t[$i+1]="schtroumpf","\n";
}
while ($t[$i] eq ($Ver[$i])) {
$t[$i]=~s/^(\w+)(er)$/schtroumpf\2/;
print OUT $t[$i],"\n";
}
if ($t[$i]=~/'/) {
if ($t[$i-1]=~/l/) {
$t[$i]=~s/'/e/,"\n";
}
}
}
print "Allez regarder votre nouveau dossier dans mots.txt!";
close (IN);
close (OUT);
close (ENTREE);
use strict;
use locale;
my $ligne;
my @t;
my @Ver;
my $i;
my $Ver;
my $article;
my $mot;
open ( IN, "<", "C:\\SL03OP1\\Programmes-Perl\\test.txt") or die "Impossible d'ouvrir le fichier!\n";
open (ENTREE,"<", "C:\\Users\\jc\\Documents\\lexiqueABU.txt") or die "impossible d'ouvrir ABU!\n";
open ( OUT, ">", "C:\\SL03OP1\\Programmes-Perl\\mots.txt") or die "Impossible de créer mots.txt!\n";
while ( $ligne = <IN>) {
chomp $ligne;
while ($ligne =~ /(\w+|['\(\)"\[-\],;.\?:!#\<\>\\\/])/g){
push (@t, $1);
}
}
$i=0;
while ( $mot = <ENTREE>) {
chomp $mot;
while ($mot =~/(\w*)\t(\w*)\tVer$/g) {
push (@Ver, $1);
}
}
$i=0;
while ($i <=$#t) {
$t[$i]=~s/^(\w+)(em+ent|am+ent|age|ique|istes?)$/schtroumpf\2/;
print OUT $t[$i],"\n";
$i=$i+1;
if ($t[$i]=~/^(une?|les?|la|'|du|des)$/i) {
$t[$i+1]="schtroumpf","\n";
}
while ($t[$i] eq ($Ver[$i])) {
$t[$i]=~s/^(\w+)(er)$/schtroumpf\2/;
print OUT $t[$i],"\n";
}
if ($t[$i]=~/'/) {
if ($t[$i-1]=~/l/) {
$t[$i]=~s/'/e/,"\n";
}
}
}
print "Allez regarder votre nouveau dossier dans mots.txt!";
close (IN);
close (OUT);
close (ENTREE);
1207
Messages postés
18
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
25 janvier 2009
23 janv. 2009 à 19:02
23 janv. 2009 à 19:02
le lexique ABU est une liste des mots de la langue avec leur categorie grammaticale, donc je voulais verifier la cat gramm des mots extraits du fichier en lecture par l'abu, mais j'arrive pas a faire le lien...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
23 janv. 2009 à 19:03
23 janv. 2009 à 19:03
Re,
Et le fichiers?
test.txt
lexiqueABU.txt
Et le fichiers?
test.txt
lexiqueABU.txt
1207
Messages postés
18
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
25 janvier 2009
23 janv. 2009 à 19:06
23 janv. 2009 à 19:06
j'ai poster mon .pl sur cjoint.com, mais j'ai juste a envoyer aussi les 2 autres fichiers...attends
1207
Messages postés
18
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
25 janvier 2009
23 janv. 2009 à 19:13
23 janv. 2009 à 19:13
ABU est trop lourd pour cjoint.com, mais tu y a acces sur ce site http://abu.cnam.fr/DICO/mots-communs.html le fichier test, c'est juste quelques phrases que j'ai ecrites pour tester mon programme, ça donne ça, je sais c un peu gnangnan mais gt pas inspirée (lol):le petit poisson etait en train de nager bien gentiment quand un requin arriva rapidement pour le bouffer alors que nemo était aussi sage qu'il l'avait promis. est ce un monde d'egoiste au point de ne se soucier que de sa propre faim? le requin a bien digéré le poisson et parti a la recherche d'une autre proie quand il tomba sur un enieme probleme.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
23 janv. 2009 à 19:24
23 janv. 2009 à 19:24
Re,
Je n'ai pas accès pour le fichier ABU.
Il fait combien?
As-tu penser de le compresser?
Je n'ai pas accès pour le fichier ABU.
Il fait combien?
As-tu penser de le compresser?
1207
Messages postés
18
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
25 janvier 2009
>
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
23 janv. 2009 à 19:32
23 janv. 2009 à 19:32
il fait 8,46 Mo, je suis pas trop au fait de tout ce qu'on peut faire, mais mon prof m'a dit qu'il était deja compressé
1207
Messages postés
18
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
25 janvier 2009
>
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
23 janv. 2009 à 19:33
23 janv. 2009 à 19:33
tu peux l'avoir en 2 minutes la:http://abu.cnam.fr/DICO/mots-communs.html
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
>
1207
Messages postés
18
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
25 janvier 2009
23 janv. 2009 à 19:38
23 janv. 2009 à 19:38
Re,
Ben, j'essaie de copier le fichier mais je ne peux pas.
En revanche je vois qu'il faut 10 Mo.
Si tu l'as sur ton disque tu peux le compresser et me l'envoyer par mail, voir mon profil.
Ben, j'essaie de copier le fichier mais je ne peux pas.
En revanche je vois qu'il faut 10 Mo.
Si tu l'as sur ton disque tu peux le compresser et me l'envoyer par mail, voir mon profil.
1207
Messages postés
18
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
25 janvier 2009
>
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
23 janv. 2009 à 19:40
23 janv. 2009 à 19:40
ok je vais essayer...merci
1207
Messages postés
18
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
25 janvier 2009
23 janv. 2009 à 19:18
23 janv. 2009 à 19:18
1207
Messages postés
18
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
25 janvier 2009
23 janv. 2009 à 19:20
23 janv. 2009 à 19:20
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
23 janv. 2009 à 20:35
23 janv. 2009 à 20:35
Salut,
Voici comment tu peux ouvrir les fichiers en lecture et récupérer tes tableaux.
Je te laisse faire la suite
Voici comment tu peux ouvrir les fichiers en lecture et récupérer tes tableaux.
Je te laisse faire la suite
#!/usr/bin/perl use strict; use locale; my (@t,@Ver); my ($i,$ligne,$Ver,$article,$mot); open ( OUT, ">", "mots.txt") or die "Impossible de créer mots.txt!\n"; # le 1er fichier en lecture # remplir le tableau @t open ( IN, "<", "C:\\SL03OP1\\Programmes-Perl\\test.txt") or die "Impossible d'ouvrir le fichier!\n"; while ( $ligne = <IN>) { chomp $ligne; while ($ligne =~ /(\w+|['\(\)"\[-\],;.\?:!#\<\>\\\/])/g){ push (@t, $1); } } close(IN); print "$_\n" for @t; # test, à supprimer après vérification # le 2ème fichier en lecture # remplir le tableau @Ver open (ENTREE,"<", "C:\\Users\\jc\\Documents\\lexiqueABU.txt") or die "impossible d'ouvrir ABU!\n"; while ( $mot = <ENTREE>) { next unless $mot=~/Ver:/; push (@Ver,(split /\s+/,$mot)[0]) if $mot=~/Ver:/; } close(ENTREE); print "$_\n" for @Ver; # test , à supprimer après vérification __END__
1207
Messages postés
18
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
25 janvier 2009
23 janv. 2009 à 20:48
23 janv. 2009 à 20:48
ok merci beaucoup!
et mes instruction, je dois les inserer a quel moment?
j'ai ajouté ça
while ($t[$i]==$Ver) {
$t[$i]=~s/(\w+)r^$/schtroumpfer/;
print OUT $t[$i],"\n";
$i=$i+1;
mais a prioris, ça ne donne rien, il n'y a pas d'erreur signalée, mais il ne me remplace toujours pas les verbes par "schtroumpfer...
et mes instruction, je dois les inserer a quel moment?
j'ai ajouté ça
while ($t[$i]==$Ver) {
$t[$i]=~s/(\w+)r^$/schtroumpfer/;
print OUT $t[$i],"\n";
$i=$i+1;
mais a prioris, ça ne donne rien, il n'y a pas d'erreur signalée, mais il ne me remplace toujours pas les verbes par "schtroumpfer...
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
23 janv. 2009 à 21:31
23 janv. 2009 à 21:31
Re,
Voici un piste.
A savoir que normalement tu dois avoir aussi la possibilité de séparer les adjectives des noms, sinon tous deviendra schtroumpf ;-))
Voici un piste.
A savoir que normalement tu dois avoir aussi la possibilité de séparer les adjectives des noms, sinon tous deviendra schtroumpf ;-))
#!/usr/bin/perl use strict; use locale; my (@t,@Ver); my ($i,$ligne,$Ver,$article,$mot); open ( OUT, ">", "mots.txt") or die "Impossible de créer mots.txt!\n"; open (ENTREE,"<", "C:\\Users\\jc\\Documents\\lexiqueABU.txt") or die "impossible d'ouvrir ABU!\n"; while ( $mot = <ENTREE>) { next unless $mot=~/Ver:/; push (@Ver,(split /\s+/,$mot)[0]) if $mot=~/Ver:/; } close(ENTREE); #print "$_\n" for @Ver; open ( IN, "<", "C:\\SL03OP1\\Programmes-Perl\\test.txt") or die "Impossible d'ouvrir le fichier!\n"; while ( $ligne = <IN>) { while ($ligne =~ /(\w+|['\(\)"\[-\],;.\?:!#\<\>\\\/])/g){ push (@t, $1); } } close(IN); # ici on fait les modifications sur @t map { s/\w+er\b/schtroumpfer/ } @t; map { s/(\w+)(e?m+ent|am+ent|age|ique|istes)/schtroumpf$2/ } @t; # ici on écrit dans mots.txt print OUT "$_\n" for @t; __END__
1207
Messages postés
18
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
25 janvier 2009
25 janv. 2009 à 14:21
25 janv. 2009 à 14:21
merci pour ton aide, je teste ça depuis hier mais ça ne donne rien,dumoins, le tableau 1 n'et pas comparé avec le tableu 2 et puis je suis sensée travailler avec : while, et if exclusivement, je ne sais plus quoi faire...si t toujours dans le coin et que tu as une idée...j'ai essayé ça dans la boucle de lmecture du premier tableau, mais toujours rien ça n'est pas pris en compte
$v=0;
while ($v <=$#ver) {
if ($t[$i]==$ver[$v]) {
$t[$i]="schtroumpfer","\n";
}
$v=$v+1;
aide moi si tu peux..perl, c passionnant, mais c épuisant!
$v=0;
while ($v <=$#ver) {
if ($t[$i]==$ver[$v]) {
$t[$i]="schtroumpfer","\n";
}
$v=$v+1;
aide moi si tu peux..perl, c passionnant, mais c épuisant!