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 à 15:53
1207 Messages postés 18 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 25 janvier 2009 - 23 janv. 2009 à 16:30
Bonjour,
voila, j'ai un probleme avec un exercice de programmation, je suis sensée ecrire un programme "schtroumpfeur" de texte, c'est a dire qu'il va transformer le texte en discours de schtroumpf, simple au premier abord, mais pas tant que ça. un probleme se pose: comment faire pour travailler avec deux fichiers en lecture pour pouvoir verifier la categorie grammaticale d'un mot avant de le remplacer par "schtroumpf"? voila ce que j'ai fait pour l'instant...je voudrais comparer les mots insérés dans le tableau, avec le lexique ABU pour verifier que ce ne sont pas des verbes ou des prepositions, avant l'operation de remplacement et je n'ai jamais travaillé avec deux fichiers en lecture, alors je suis un peu perdue... s'il vous plait, aidez moi...a charge de revanche...
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 ($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|')$/) {
$t[$i+1]="schtroumpf","\n";


if ($t[$i]=~/'/) {
if ($t[$i-1]=~/l/) {
$t[$i]=~s/'/e/;
}
}


}



}


print "Allez regarder votre nouveau dossier dans C:\\SL03OP1\\Programmes-Perl\\mots.txt!";



close (IN);
close (OUT);
close (ENTREE);
A voir également:

2 réponses

Dikmas Messages postés 376 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 3 mai 2012 63
23 janv. 2009 à 16:12
Bonjour,

Je te conseil d'aller poster ta question dans la partie programmation de "comment ca marche".

Bon courage ^^
0
1207 Messages postés 18 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 25 janvier 2009
23 janv. 2009 à 16:30
ok merci
0