PERL
Résolu/Fermé
otakuu
Messages postés
302
Date d'inscription
dimanche 14 octobre 2007
Statut
Membre
Dernière intervention
13 mai 2014
-
2 nov. 2009 à 20:35
otakuu Messages postés 302 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 13 mai 2014 - 11 nov. 2009 à 20:18
otakuu Messages postés 302 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 13 mai 2014 - 11 nov. 2009 à 20:18
A voir également:
- PERL
- Denon perl pro test - Accueil - Audio
- Active perl - Télécharger - Édition & Programmation
- Perl foreach ✓ - Forum Perl
- Perl substitution ✓ - Forum Perl
- [Perl] WWW::Mechanize - Forum Perl
9 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
2 nov. 2009 à 21:29
2 nov. 2009 à 21:29
Salut,
Ton code n'est pas correct (la boucle while plus exact)
Personnellement je te conseille d'oublier Eclipse, open perl ide, etc.
Choisi un éditeur de texte, par exemple scite et exécute tes scripts depuis la console DOS.
Ton code n'est pas correct (la boucle while plus exact)
open(LIRE,"lire.txt") ; open(ECRIRE,">>ecrire.txt") ; while (<LIRE>) { print ECRIRE $_; } close(LIRE); close(ECRIRE);
Personnellement je te conseille d'oublier Eclipse, open perl ide, etc.
Choisi un éditeur de texte, par exemple scite et exécute tes scripts depuis la console DOS.
otakuu
Messages postés
302
Date d'inscription
dimanche 14 octobre 2007
Statut
Membre
Dernière intervention
13 mai 2014
38
2 nov. 2009 à 21:57
2 nov. 2009 à 21:57
Merci pour votre réponse.
je fais meme du c/c++ avec eclipse :-s j'ai trop l'habitude de l'utiliser mais bon je peux faire comme vous me dites la mais là j'ai comme un doute sur ce que je crois que ce code fait... si je ne me trompe pas normalement si j'écris "salut le monde" dans le lire.txt et que j'exécute ce programme là je dois trouver "salut le monde" dans ecrire.txt?
par ce que je vien de faire la comme vous me dite avec l'éditeur notepad(puisqu'il est déjà installer chez moi) mais ca me fait la même chose que sous eclipse,
this file has been modified by another programm.
Do you want to reload it?
et voila une fois que je clique sur Ok ecire.txt est tjrs aussi blanc aucune trace de texte.
je fais meme du c/c++ avec eclipse :-s j'ai trop l'habitude de l'utiliser mais bon je peux faire comme vous me dites la mais là j'ai comme un doute sur ce que je crois que ce code fait... si je ne me trompe pas normalement si j'écris "salut le monde" dans le lire.txt et que j'exécute ce programme là je dois trouver "salut le monde" dans ecrire.txt?
par ce que je vien de faire la comme vous me dite avec l'éditeur notepad(puisqu'il est déjà installer chez moi) mais ca me fait la même chose que sous eclipse,
this file has been modified by another programm.
Do you want to reload it?
et voila une fois que je clique sur Ok ecire.txt est tjrs aussi blanc aucune trace de texte.
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
2 nov. 2009 à 22:05
2 nov. 2009 à 22:05
Re,
Je ne comprends pas.
Il n'y a rien à cliquer et ça doit marcher.
Tu ouvre une console DOS et tu exécutes ton script.
Vaut mieux utiliser des chemins complets pour tes fichiers ou t'assurer que le script se trouve dans le même répertoire que les fichiers texte.
Voici un exemple
Je ne comprends pas.
Il n'y a rien à cliquer et ça doit marcher.
Tu ouvre une console DOS et tu exécutes ton script.
Vaut mieux utiliser des chemins complets pour tes fichiers ou t'assurer que le script se trouve dans le même répertoire que les fichiers texte.
Voici un exemple
lami20j@debian:~$ cat lire.txt salut le monde lami20j@debian:~$ cat ecrire.pl #!/usr/bin/perl use strict;use warnings; open(LIRE,"lire.txt") ; open(ECRIRE,">>ecrire.txt") ; while (<LIRE>) { print ECRIRE $_; } close(LIRE); close(ECRIRE); lami20j@debian:~$ perl ecrire.pl lami20j@debian:~$ cat ecrire.txt salut le monde lami20j@debian:~$ perl ecrire.pl lami20j@debian:~$ cat ecrire.txt salut le monde salut le monde lami20j@debian:~$ perl ecrire.pl lami20j@debian:~$ cat ecrire.txt salut le monde salut le monde salut le monde
otakuu
Messages postés
302
Date d'inscription
dimanche 14 octobre 2007
Statut
Membre
Dernière intervention
13 mai 2014
38
8 nov. 2009 à 00:45
8 nov. 2009 à 00:45
Salut lami20j,
Merci pour votre aide ça m'a beaucoup aidé.
je profite pour vous poser une autre question:
je veux lemmatiser une phrase exemple @phrase=("salut","le","monde") et à coté j'ai créer un fichier motvide.txt ou y'a des mots vides que je dois éliminer après dans la @phrase.
en fait voila j'ai fait
@motvide = <MOTVIDE>;
et donc là j'ai recuperer tout les mots vide en un tableau @motvide et le problème est que y'a des mots qui sont copier dans des case du tableau @motvide avec de l'espace devant, ce qui cause problème lorsque je veux comparer (eq) un mot de ma @phrase et un mot du @motvide( le problème est que je risque d'avoir "le" != "le " à cause de l'espace qui y'a devant le "le "). voila donc est ce qu'il y'a un moyen de pouvoir copier tout les élément du fichier motvide.txt en un tableau sans les espace genre comme chop qui lui élimine les retour chariot.
j'espere que vous m'avez compris.
bonne nuit @u revoir.
Merci pour votre aide ça m'a beaucoup aidé.
je profite pour vous poser une autre question:
je veux lemmatiser une phrase exemple @phrase=("salut","le","monde") et à coté j'ai créer un fichier motvide.txt ou y'a des mots vides que je dois éliminer après dans la @phrase.
en fait voila j'ai fait
@motvide = <MOTVIDE>;
et donc là j'ai recuperer tout les mots vide en un tableau @motvide et le problème est que y'a des mots qui sont copier dans des case du tableau @motvide avec de l'espace devant, ce qui cause problème lorsque je veux comparer (eq) un mot de ma @phrase et un mot du @motvide( le problème est que je risque d'avoir "le" != "le " à cause de l'espace qui y'a devant le "le "). voila donc est ce qu'il y'a un moyen de pouvoir copier tout les élément du fichier motvide.txt en un tableau sans les espace genre comme chop qui lui élimine les retour chariot.
j'espere que vous m'avez compris.
bonne nuit @u revoir.
loupius
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
148
8 nov. 2009 à 01:44
8 nov. 2009 à 01:44
j'espere que vous m'avez compris.
Bien sûr, nous sommes sur la même longieur d'onde; d'ailleurs moi aussi je lemmatise beaucoup mais surtout le matin sauf quand c'est le soir ;-)
Quant aux espaces, pour les supprimer, n'hésite pas à utiliser l'opérateur de substitution (s///), un des piliers de Perl.
Bonne continuation.
Bien sûr, nous sommes sur la même longieur d'onde; d'ailleurs moi aussi je lemmatise beaucoup mais surtout le matin sauf quand c'est le soir ;-)
Quant aux espaces, pour les supprimer, n'hésite pas à utiliser l'opérateur de substitution (s///), un des piliers de Perl.
Bonne continuation.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
otakuu
Messages postés
302
Date d'inscription
dimanche 14 octobre 2007
Statut
Membre
Dernière intervention
13 mai 2014
38
8 nov. 2009 à 17:23
8 nov. 2009 à 17:23
Salut,
Merci loupius ;) ça marche nickel. Tu m'as sauvé la vie mec !!
open(MOTVIDE,"motvide.txt");
chomp(@tab=<MOTVIDE>);
for($i=0;$i<=$#tab;$i++)
{
$tab[$i] =~ s/ //;
}
print @tab;
@ la prochaine ++.
Merci loupius ;) ça marche nickel. Tu m'as sauvé la vie mec !!
open(MOTVIDE,"motvide.txt");
chomp(@tab=<MOTVIDE>);
for($i=0;$i<=$#tab;$i++)
{
$tab[$i] =~ s/ //;
}
print @tab;
@ la prochaine ++.
otakuu
Messages postés
302
Date d'inscription
dimanche 14 octobre 2007
Statut
Membre
Dernière intervention
13 mai 2014
38
8 nov. 2009 à 17:48
8 nov. 2009 à 17:48
euh... Re :-s
j'ai comme un pti souci là. quand j'essai de supprimer les mot vide de la phrase que l'utilisateur va entrée bah ça marche pas (comme si dans ma table @ligne y'a pas de mot vide qui correspondant a un mot vide que l'utilisateur a insérer dans sa phrase, alors que moi j'ai fait exprès d'insérer une phrase avec des mots vides) c'est très bizzar car ça l'air vraiment d'être bon mais quand j'exécute ça fait rien :-s
voila le code alors si vous voyez ou ça cloche fait moi signe svp je vous serez très reconnaissant merci.
open(VIDE,"vide.txt");
chop(@ligne = <VIDE>);
for($i=0;$i<=$#tab;$i++)
{
$ligne[$i] =~ s/ //;
}
print "donner une phrase: \n";
chop ($phrase= <STDIN>);
#split: separe une chaine de caractere en plusieurs mots dans un tableau de caractere ;)
#join: fonctionne comme split mais pour passer d'un tableau a une chaine de caractere ;)
@tab = split (/ /,$phrase);
for($i=0; $i<$#tab; $i++)
{
for($j=0; $j<$#ligne; $j++)
{
if($tab[$i] eq $ligne[$j])
{
@tab = @tab [0..($i-1),($i+1)..$#tab];
}
}
}
print @tab;
#$nbr_elt_ligne = @phrase;
#$x = $#phrase;
#print @tab;
j'ai comme un pti souci là. quand j'essai de supprimer les mot vide de la phrase que l'utilisateur va entrée bah ça marche pas (comme si dans ma table @ligne y'a pas de mot vide qui correspondant a un mot vide que l'utilisateur a insérer dans sa phrase, alors que moi j'ai fait exprès d'insérer une phrase avec des mots vides) c'est très bizzar car ça l'air vraiment d'être bon mais quand j'exécute ça fait rien :-s
voila le code alors si vous voyez ou ça cloche fait moi signe svp je vous serez très reconnaissant merci.
open(VIDE,"vide.txt");
chop(@ligne = <VIDE>);
for($i=0;$i<=$#tab;$i++)
{
$ligne[$i] =~ s/ //;
}
print "donner une phrase: \n";
chop ($phrase= <STDIN>);
#split: separe une chaine de caractere en plusieurs mots dans un tableau de caractere ;)
#join: fonctionne comme split mais pour passer d'un tableau a une chaine de caractere ;)
@tab = split (/ /,$phrase);
for($i=0; $i<$#tab; $i++)
{
for($j=0; $j<$#ligne; $j++)
{
if($tab[$i] eq $ligne[$j])
{
@tab = @tab [0..($i-1),($i+1)..$#tab];
}
}
}
print @tab;
#$nbr_elt_ligne = @phrase;
#$x = $#phrase;
#print @tab;
otakuu
Messages postés
302
Date d'inscription
dimanche 14 octobre 2007
Statut
Membre
Dernière intervention
13 mai 2014
38
10 nov. 2009 à 00:32
10 nov. 2009 à 00:32
Salut,
personne??
personne??
otakuu
Messages postés
302
Date d'inscription
dimanche 14 octobre 2007
Statut
Membre
Dernière intervention
13 mai 2014
38
11 nov. 2009 à 19:09
11 nov. 2009 à 19:09
Salut,
toujours personne?? :(
toujours personne?? :(
otakuu
Messages postés
302
Date d'inscription
dimanche 14 octobre 2007
Statut
Membre
Dernière intervention
13 mai 2014
38
11 nov. 2009 à 20:18
11 nov. 2009 à 20:18
Salut,
oooh l'erreur. impardonnable !!!
for($i=0;$i<=$#tab;$i++)
{
$ligne[$i] =~ s/ //;
}
au lieu de tab faillais que je mette ligne :-s
c'est très bête.
oooh l'erreur. impardonnable !!!
for($i=0;$i<=$#tab;$i++)
{
$ligne[$i] =~ s/ //;
}
au lieu de tab faillais que je mette ligne :-s
c'est très bête.