Substitution en Perl

Résolu
bonjour à tous,
je suis en plein projet pour l'école et je programme en perl
j'ai un soucis au niveau d'une substitution
je vous explique
je récupère un texte dans une variable $corps
j'ai une liste de mots dans @listemotsvides
et je dois supprimer les mots de la liste dans le texte
j'ai donc fait ca :

sub vide($corps){
open(texte2,"<motsvides2.txt") or die"pb";

while($t=<texte2>){
#tableau de mots vides
push(@listemotsvides,$t);
}

close (texte2);
#La fonction vide permet de supprimer les mots vides
foreach $element(@listemotsvides){

$corps=~s/{element}//g;
#$corps=~s/[a-z]*ait//g;
}
}

et dans mon programme j'appelle ma fonction:
vide($corps);

et je comprends pas pourquoi ca ne supprime pas les mots
merci d'avance pour votre réponse

nanou
Configuration: Windows XP
Internet Explorer 6.0

29 réponses

Résumé de la discussion

Un utilisateur cherche à supprimer des mots d'un texte en Perl en utilisant une liste de mots vides chargée depuis un fichier motsvides.txt. Plusieurs réponses montrent comment lire le fichier dans @listemotsvides et appliquer $corps =~ s/$_//g pour chaque élément, afin de retirer les mots correspondant. La démonstration fournit un exemple avec avant/après et affiche les mots supprimés, ce qui illustre le fonctionnement malgré l'absence initiale de délimiteurs. En version plus robuste, certains proposent d'utiliser des délimiteurs de mots et d'échapper les caractères des mots, ou d'encapsuler la substitution dans une fonction réutilisable.

Bobot (l’IA à votre service)
  1. Modérateur
    Salut,

    et moi, je ne comprends pas ta question ;-)
    0
    1. moi j narive a entrer le master code
      0
      1. ok ok
        en tout cas merci pour ton aide et désolé de t'avoir embété pour "rien"
        je comprends pas comment ca se fait que ca marche pas mais là j'en peux plus
        0
        1. Modérateur
          Regarde ici messagerie
          0
      2. Modérateur
        Soit plus optimiste et Regarde tes Messages Privés :-)
        0
        1. Modérateur
          c'est quoi les balises code

          Tu peux selectionner le texte à mettre entre les balises code et faire un clic sur le bouton Code

          sinon tu peux écrire le texte à mettre entre les balises code (en général on mets le code d'un programme, script, etc. ou pour afficher une commande shell)
          <code>
          ici c'est le texte que sera afficher en style code
          </code>

          Tu as aussi à ta disposition pour mettre le texte en gras ou souligne ou italic.
          0
          1. bon alors maintenant je comprends plus rien
            car maintenant quand j'enlève un print ilme dit erreur je sais pas quoi entrée sortie directory un truc ds ce genre
            bon ca me gave trop j'abandonne je sais pas comment je vais faire mais bon
            merci en tout cas
            0
            1. c'est quoi les balises code
              et oui je t'ai dit je suis très nulle
              0
              1. Modérateur
                salut,

                declare la variable à l'extérieur de bloc if

                my $corps;
                if ($t=~/<body[^>]*>(.*)<\/body>/s){
                  $corps=$1;
                #print "corps = $corps\n\n" ;
                }
                print "$corps"; 

                0
                1. je viens de découvrir un nouveau truc en fait c'est là :

                  if ($t=~/<body[^>]*>(.*)<\/body>/s){
                  my $corps=$1;
                  #print "corps = $corps\n\n" ;
                  }

                  print "$corps";

                  le premier print "corps" fonctionne
                  mais le second ne fonctionne plus
                  est ce normal???

                  j'en peux plus de ce truc ca me rend taré
                  0
                  1. j'avais déjà ca
                    ca marche toujours pas
                    en fait $res est vide ...
                    0
                    1. Modérateur
                      au lieu de
                      $res =~ s/b$_\b//g for @listemotsvides;

                      mets
                      $res =~ s/\b$_\b//g for @listemotsvides; 
                      0
                      1. bon je pige pas
                        le corps n'est pas vide
                        enfin j'ai changé avec ton truc donc ca ca marche
                        mais en fait ma fonction vide me supprime tous les mots du texte donc c'est pas super pratique
                        ca me rend tarée !!!
                        0
                        1. Modérateur
                          Salut,

                          if ($t=~/<body[^>]*>(.*?)<\/body>/){
                          my $corps=$1;
                          #print "corps = $corps\n\n" ;
                          } 

                          je vois que tu as testé avec un print et il me semble que $corps est vide, n'est-ce pas?

                          essaie comme ça
                          if ($t=~/<body[^>]*>(.*)<\/body>/s){
                          my $corps=$1;
                          #print "corps = $corps\n\n" ;
                          } 

                          le métacaractères point . ne reconnaît pas le caractère fin de ligne \n donc il faut utiliser le modificateur de regex /s pour permettre que . reconnaisses \n

                          et pourquoi utilises-tu *? (quantificateur paresseux) ?
                          si tu veux que $t contiennes tous ce qui est compris entre <body> et </body> alors utilise .* (quantificateur gurmand)
                          0
                          1. me revoilà
                            je ne sais pas si tu as pu regarder ou pas
                            mais si tu as pu se serait vraiment top !!
                            0
                            1. alors au début on a utilisé des tableaux car on savait pas utiliser les fichiers directement
                              et le slurp je connais pas
                              je sens que tu vas te marrer en lisant le code car c'est plein de bétises
                              0
                              1. Modérateur
                                while(@t=<texte>){
                                chomp(@t) ;
                                $t=join('',@t) ;


                                un chomp on le fait sur un scalaire pas un tableau
                                sur un tableau on a pop,push,shift,unshift

                                Et pourquoi sauvegarde le fichier dans un tableau?

                                Tu peux utiliser tout simplement la variable spécial $/ (mode slurp) pour que la variable $t avale le fichier entier

                                local $/;
                                $t=<texte>; # $t contient le fichier entier
                                0
                                1. https://www.cjoint.com/?cunyetu08k

                                  voila le lien
                                  bon bah ok je te laisse regarder ca mais sache qu'on est pas super douée en programmation dans ma classe et moi en particulier donc peut etre qu'il y a plein de fautes
                                  là je dois partir bosser je reviens vers 18h 18h30
                                  a plus et merci
                                  0
                                  1. Modérateur
                                    Tu as copié ton script entier?
                                    tu peux joindre ton script sur cjoint.com et coller ici l'adresse de lien obtenu.

                                    je vais voir ça à la maison en tranquillité

                                    par exemple
                                    #La fonction caracteres permet de remplacer tous les caractères sépciaux par des blancs ou par les lettres
                                    #correspondant a ces caractères


                                    et ici tu mets une liste entière quand une seule regex peu faire l'affaire

                                    par exemple tous les caractères spéciaux (voir la table ASCII étendue) de C majuscules avec cédille Ç ( ascii 128, hexa 80) jusqu'à (ascii 255, hexa FF) on peut écrire
                                    $t =~ s/[x80-xFF]//g;
                                    au lieu de tous le listing que tu as utilisé.
                                    Donc j'utilise une classe de caractères
                                    0
                                    1. bon alors j'ai fait ca :

                                      #!/usr/local/bin/perl
                                      #
                                      my $corps = q{bonjour à tous,
                                      je suis en plein projet pour l'école et je programme en perl
                                      j'ai un soucis au niveau d'une substitution
                                      je vous explique
                                      je récupère un texte dans une variable $corps
                                      j'ai une liste de mots dans @listemotsvides
                                      et je dois supprimer les mots de la liste dans le texte
                                      j'ai donc fait ca};

                                      sub vide{
                                      my $res=shift;
                                      open F_MOTS, "motsvides2.txt" or die "E/S : $!\n";

                                      my @listemotsvides;

                                      push @listemotsvides,$_ while(<F_MOTS>);
                                      map { chomp } @listemotsvides;
                                      $res =~ s/\b$_\b//g for @listemotsvides;
                                      print "$res\n";
                                      close (F_MOTS);
                                      }

                                      vide($corps);
                                      __END__

                                      et j'obtiens ca un truc qui a l'air de fonctionner mais je peux pas le copier ici

                                      alors comment ca se fait que ca marche pas dans mon programme?

                                      je veux bien te coller mon programme mais il est long :

                                      #pour exécuter ce fichier :
                                      # perl executv13.pl Docs posting.txt index.txt ../CODESQL/insertion.sql ../CODESQL/tfidf.sql ../CODESQL/insert.sql ../CODESQL/rappel.sql

                                      #!/usr/local/bin/perl

                                      #on lit d'abord le fichier des mots vides

                                      #ensuite on fait les traitements sur les textes
                                      #on ouvre le répertoire
                                      $D=$ARGV[0];
                                      opendir(D,$ARGV[0]);
                                      @docs=readdir(D);
                                      #on enlève de la liste des documents les . et ..
                                      shift(@docs);
                                      shift(@docs);

                                      #tablo est le tableau des fréquences de chaque terme pour un document donné.
                                      #tablo2 correspond au nombre de documents où apparait un terme d'indexation de la collection.
                                      %tablo1=();
                                      %tablo2=();
                                      %tablo3=();
                                      %tablo4=();
                                      $ins=0;
                                      $u=0;

                                      #on ouvre en écriture le fichier posting
                                      open(posting,">$ARGV[1]");
                                      open(insertion,">$ARGV[3]");
                                      foreach $fichier(@docs){
                                      #on ouvre en lecture le fichier du répertoire Docs
                                      $num=0;
                                      open(texte,$ARGV[0]."/$fichier") or die"pb";
                                      %tablo=();
                                      while(@t=<texte>){
                                      chomp(@t) ;
                                      $t=join('',@t) ;
                                      #on met tout en minuscules
                                      $t=~tr/A-Z/a-z/;
                                      accent($t);
                                      caracteres($t);

                                      if ($t=~/<meta name="Author" +content="([^"]*)">/){
                                      $auteur=$1;
                                      $auteur=~ s/,/ /g;
                                      #print "auteur = $auteur\n\n" ;
                                      $auteur=~ s/'/ /g;
                                      }

                                      if ($t=~/<address>([^<]*)<\/address>/){
                                      $URL=$1;
                                      #print "URL = $URL\n\n" ;
                                      }

                                      if ($t=~/<title>([^<]*)<\/title>/){
                                      $titre=$1;
                                      $titre=~ s/'/ /g;
                                      #print "titre = $titre\n\n" ;
                                      }

                                      if ($t=~/<body[^>]*>(.*?)<\/body>/){
                                      my $corps=$1;
                                      #print "corps = $corps\n\n" ;
                                      }

                                      if ($auteur ne ""){
                                      $longueur=@tablo1;
                                      #print "$auteur\n";
                                      while ($tablo1[$num] ne $auteur && $num<$longueur){
                                      $num=$num+1;
                                      #print "le num est $num\n";
                                      }
                                      if ($num!=$longueur){
                                      $num=$num+1;
                                      print insertion ("INSERT INTO Documents VALUES ('$fichier','$titre','$URL',1);\n
                                      INSERT INTO DocAuteurs VALUES ('$fichier',$num);\n");
                                      }else{
                                      $tablo1[$num]=$auteur;
                                      $num=$num+1;
                                      print insertion ("INSERT INTO Documents VALUES ('$fichier','$titre','$URL',1);\n
                                      INSERT INTO Auteurs VALUES ($num,'$auteur');\n
                                      INSERT INTO DocAuteurs VALUES ('$fichier',$num);\n");

                                      }}else{
                                      print insertion ("INSERT INTO Documents VALUES ('$fichier','$titre','$URL',1);\n");
                                      }
                                      #print ("@tablo1\n");
                                      #print insertion ("insert into Documents(Titre, URL, Id_collec) values ($titre, $URL, 1);\n
                                      #insert into Auteurs(Nom) values ($auteur);\n");

                                      balises($corps);
                                      separateur($corps);
                                      vide($corps);

                                      #on met les termes d'indexation dans une liste
                                      @liste=split(", ",$corps);
                                      #print(@liste);
                                      shift(@liste);

                                      #on calcule les fréquence de chaque terme
                                      foreach $element(@liste){
                                      $tablo{substr($element,0,7)}+=1;
                                      }
                                      }

                                      foreach $cle(keys(%tablo)){
                                      #on remplit le fichier posting
                                      if($tablo{$cle}<($u*0.67) && length($cle)>3){
                                      print posting ("$cle \t $fichier \t $tablo{$cle}\n");
                                      }
                                      $tablo3[$i]=$fichier;
                                      if($tablo3[$i-1] ne $tablo3[$i]) {
                                      $u=$u+1;}
                                      $i=$i+1;

                                      #on crée le tableau qui nous permettra d'afficher l'index
                                      if($tablo{$cle}>0 && $cle ne ""){
                                      $tablo2{$cle}+=1;
                                      }
                                      }
                                      }
                                      close(posting);
                                      close (insertion);

                                      #on crée notre fichier index
                                      open(ind,">$ARGV[2]");
                                      foreach $cle(keys(%tablo2)){
                                      if($tablo2{$cle}<($u*0.67) && length($cle)>3){
                                      print ind ("$cle \t $tablo2{$cle}\n");}
                                      }
                                      close (texte);
                                      close (ind);

                                      open(posting,"posting.txt");
                                      my @contenu=<posting>;
                                      #On récupère tout le contenu du fichier posting dans la liste contenu
                                      close(posting);

                                      open(tfidf,">$ARGV[4]");
                                      foreach (@contenu){
                                      my @datas= split(/\t/, $_);
                                      #On sépare les colonnes du fichier posting que l'on entre dans datas
                                      $datas[0]=~s/ //g;
                                      #On supprime les espaces de la première colonne du fichier posting
                                      $datas[2]=~s/\n//g;
                                      $datas[1]=~s/ //g;
                                      #On supprime les retours à la ligne de la troisième colonne du fichier posting
                                      $div=$u/$tablo2{$datas[0]};
                                      $log=log($div);
                                      $tfidf=$datas[2]*$log;
                                      #On calcule grâce aux données que nous avons récupérées le tf*idf
                                      $k=$k+1;
                                      print tfidf ("INSERT INTO Termes (Nterme,Terme) VALUES ($k,'$datas[0]'); \n
                                      INSERT INTO IndexDoc(Nterme,Ndoc,freq,poids) VALUES ($k,'$datas[1]',$datas[2],$tfidf);\n");

                                      #On insère dans un fichier tfidf les commandes nécessaires aux insertions dans la table Termes
                                      #et dans la table Temp qui nous sert d'intermédiaire pour les insertions dans la table IndexDoc
                                      }
                                      close(tfidf);

                                      open(insert,">$ARGV[5]");
                                      print insert ("INSERT INTO CollecDoc (Id_collec,Theme,Nb_doc) VALUES (1,'Maladies génétiques',$u);\n ");
                                      #On insère dans la table CollecDoc les informations sur notre collection de documents
                                      close(insert);

                                      open(rappel,">$ARGV[6]");
                                      $m=0;
                                      while($m<1)
                                      {print rappel ("INSERT INTO RepriseFixe (point) VALUES ($m);\n");
                                      $m=$m+0.1;
                                      #On insère dans la table RepriseFixe les points de reprise
                                      }
                                      close(rappel);

                                      sub separateur{
                                      $corps=shift;
                                      #La fonction separateur permet de remplacer tous les séparateurs du corps des documents par des virgules
                                      $corps=~s/<!--/, /g;
                                      $corps=~s/ /, /g;
                                      $corps=~s/«/, /g;
                                      $corps=~s/»/, /g;
                                      $corps=~s/%/, /g;
                                      #$corps=~s/ /, /g;
                                      $corps=~s/,/, /g;
                                      $corps=~s/\./, /g;
                                      $corps=~s/;/, /g;
                                      $corps=~s/:/, /g;
                                      $corps=~s/!/, /g;
                                      $corps=~s/\?/, /g;
                                      $corps=~s/\(/, /g;
                                      $corps=~s/\)/, /g;
                                      $corps=~s/\[/, /g;
                                      $corps=~s/\]/, /g;
                                      $corps=~s/\$/, /g;
                                      $corps=~s/\+/, /g;
                                      $corps=~s/\*/, /g;
                                      #$corps=~s/-/, /g;
                                      $corps=~s/\n/, /g;
                                      $corps=~s/\t/, /g;
                                      $corps=~s/\r/, /g;
                                      $corps=~s/\//, /g;
                                      $corps=~s/"/, /g;
                                      $corps=~s/\^/, /;
                                      $corps=~s/\'/, /g;
                                      $corps=~s/=/, /g;
                                      $corps=~s/#/, /g;
                                      $corps=~s/-/, /g;
                                      $corps=~s/</, /g;
                                      $corps=~s/>/, /g;
                                      $corps=~s/’/, /g;
                                      $corps=~s/{/, /g;
                                      $corps=~s/}/, /g;
                                      $corps=~s/\|/, /g;
                                      $corps=~s/ – /, /g;
                                      #pour supprimer les vides
                                      $corps=~s/(, )[, ]+/$1/g;
                                      }

                                      sub accent{
                                      $t=shift;
                                      #La fonction accent permet de remplacer les lettres à accents par ces mêmes lettres sans accents
                                      $t=~s/é/e/g;
                                      $t=~s/è/e/g;
                                      $t=~s/ê/e/g;
                                      $t=~s/ë/e/g;
                                      $t=~s/ô/o/g;
                                      $t=~s/à/a/g;
                                      $t=~s/î/i/g;
                                      $t=~s/ï/i/g;
                                      $t=~s/û/u/g;
                                      $t=~s/ù/u/g;

                                      $t=~s/â/a/g;
                                      $t=~s/ê/e/g;
                                      $t=~s/ô/o/g;
                                      $t=~s/ç/c/g;

                                      $t=~s/É/e/g;
                                      $t=~s/È/e/g;
                                      $t=~s/À/a/g;
                                      $t=~s/Ù/u/g;

                                      $t=~s/Á/a/g;
                                      $t=~s/Ã/a/g;
                                      $t=~s/å/a/g;
                                      $t=~s/Â/a/g;
                                      $t=~s/Ä/a/g;
                                      $t=~s/à/a/g;
                                      $t=~s/À/a/g;
                                      $t=~s/á/a/g;
                                      $t=~s/ã/a/g;
                                      $t=~s/Å/a/g;
                                      $t=~s/â/a/g;
                                      $t=~s/ä/a/g;
                                      $t=~s/Ã/a/g;
                                      $t=~s/Ã/a/g;
                                      $t=~s/Â/a/g;

                                      $t=~s/É/e/g;
                                      $t=~s/é/e/g;
                                      $t=~s/Ê/e/g;
                                      $t=~s/ê/e/g;
                                      $t=~s/È/e/g;
                                      $t=~s/è/e/g;
                                      $t=~s/Ë/e/g;
                                      $t=~s/ë/e/g;
                                      $t=~s/a¨/e/g;
                                      $t=~s/a©/e/g;
                                      $t=~s/é/e/g;
                                      $t=~s/è/e/g;
                                      $t=~s/aª/e/g;
                                      $t=~s/è/e/g;
                                      $t=~s/É/e/g;
                                      $t=~s/É/e/g;
                                      $t=~s/a‰/e/g;

                                      $t=~s/Í/i/g;
                                      $t=~s/í/i/g;
                                      $t=~s/Î/i/g;
                                      $t=~s/î/i/g;
                                      $t=~s/Ì/i/g;
                                      $t=~s/ì/i/g;
                                      $t=~s/Ï/i/g;
                                      $t=~s/ï/i/g;
                                      $t=~s/ï/i/g;
                                      $t=~s/a¯/i/g;

                                      $t=~s/Ñ/n/g;
                                      $t=~s/ñ/n/g;

                                      $t=~s/Ó/o/g;
                                      $t=~s/ó/o/g;
                                      $t=~s/Ô/o/g;
                                      $t=~s/ô/o/g;
                                      $t=~s/Ò/o/g;
                                      $t=~s/ò/o/g;
                                      $t=~s/Ö/o/g;
                                      $t=~s/ö/o/g;
                                      $t=~s/Õ/o/g;
                                      $t=~s/õ/o/g;
                                      $t=~s/ô/o/g;
                                      $t=~s/a´/o/g;

                                      $t=~s/Ú/u/g;
                                      $t=~s/ú/u/g;
                                      $t=~s/Û/u/g;
                                      $t=~s/û/u/g;
                                      $t=~s/Ù/u/g;
                                      $t=~s/ù/u/g;
                                      $t=~s/Ü/u/g;
                                      $t=~s/ü/u/g;

                                      $t=~s/Ý/y/g;
                                      $t=~s/ý/y/g;
                                      $t=~s/ÿ/y/g;

                                      $t=~s/é/e/g;
                                      $t=~s/aˆ/e/g;
                                      }

                                      sub caracteres{
                                      $t=shift;
                                      #La fonction caracteres permet de remplacer tous les caractères sépciaux par des blancs ou par les lettres
                                      #correspondant a ces caractères
                                      $t=~s/[0-9]*//g;
                                      $t=~s/&//g;
                                      $t=~s/ [a-z] //g;
                                      $t=~s/α/ /g;
                                      $t=~s/oa¹/ /g;
                                      $t=~s/β/ /g;
                                      $t=~s/~/ /g;
                                      $t=~s/a§/ /g;
                                      $t=~s/a®/ /g;
                                      $t=~s/a±/ /g;
                                      $t=~s/oeœu/oeu/g;
                                      $t=~s/oe“/oeu/g;
                                      $t=~s/e“u/eu/g;
                                      $t=~s/40a€¦/ /g;
                                      $t=~s/sβaˆ / /g;
                                      $t=~s/aˆ†f/ /g;
                                      $t=~s/©/ /g;
                                      $t=~s/@/ /g;
                                      $t=~s/Ø/ /g;
                                      $t=~s/ß/ /g;
                                      $t=~s/&nbsp//g;
                                      $t=~s/«Â//g;
                                      $t=~s/’//g;
                                      $t=~s/</ /g;
                                      $t=~s/>/ /g;
                                      $t=~s/&/ /g;
                                      $t=~s/"/ /g;
                                      $t=~s/Æ/ae/g;
                                      $t=~s/æ/ae/g;
                                      $t=~s/©/ /g;
                                      $t=~s/Ç/c/g;
                                      $t=~s/ç/c/g;
                                      $t=~s/ç/c/g;
                                      $t=~s/Ð/ /g;
                                      $t=~s/°/ /g;
                                      $t=~s/_/ /g;

                                      $t=~s/ð/ /g;
                                      $t=~s/Ø/ /g;
                                      $t=~s/ø/ /g;
                                      $t=~s/Þ/ /g;
                                      $t=~s/þ/ /g;
                                      $t=~s/ß/ /g;
                                      $t=~s/a\|/ /g;
                                      $t=~s/a¢/ /g;
                                      $t=~s/a°/ /g;
                                      $t=~s/aµ/ /g;
                                      $t=~s/a //g;

                                      $t=~s/…/oe/g;
                                      $t=~s/Å/oe/g;
                                      $t=~s/’/ /g;
                                      $t=~s/œ/ /g;
                                      $t=~s/¡/ /g;
                                      $t=~s/¢/ /g;
                                      $t=~s/£/ /g;
                                      $t=~s/¤/ /g;
                                      $t=~s/¥/ /g;
                                      $t=~s/¦/ /g;
                                      $t=~s/§/ /g;
                                      $t=~s/¨/ /g;
                                      $t=~s/©/ /g;
                                      $t=~s/ª/ /g;
                                      $t=~s/«/ /g;
                                      $t=~s/¬/ /g;
                                      $t=~s/­/ /g;
                                      $t=~s/®/ /g;
                                      $t=~s/¯/ /g;
                                      $t=~s/°/ /g;
                                      $t=~s/±/ /g;
                                      $t=~s/²/ /g;
                                      $t=~s/³/ /g;
                                      $t=~s/´/ /g;
                                      $t=~s/µ/ /g;
                                      $t=~s/¶/ /g;
                                      $t=~s/·/ /g;
                                      $t=~s/¸/ /g;
                                      $t=~s/¹/ /g;
                                      $t=~s/º/ /g;
                                      $t=~s/»/ /g;
                                      $t=~s/¼/ /g;
                                      $t=~s/½/ /g;
                                      $t=~s/¾/ /g;
                                      $t=~s/¿/ /g;
                                      $t=~s/×/ /g;
                                      $t=~s/Þ/ /g;
                                      $t=~s/÷/ /g;
                                      $t=~s/’/ /g;

                                      # Autres caractères spéciaux :
                                      $t=~s/°/ /g;
                                      $t=~s/°/°/g;
                                      $t=~s/a€™/ /g;
                                      $t=~s/©/ /g;}

                                      sub vide{
                                      my $res=shift;
                                      open(texte2,"<motsvides2.txt") or die"pb";

                                      my @listemotsvides;

                                      push @listemotsvides,$_ while(<texte2>);

                                      map { chomp } @listemotsvides;
                                      #print "@listemotsvides";
                                      $res =~ s/b$_\b//g for @listemotsvides;
                                      print "$res\n";
                                      close (texte2);
                                      }

                                      sub balises{
                                      $corps=shift;
                                      #La fonction balises permet de supprimer toutes les balises
                                      $corps=~s/<h1>/ /g;
                                      $corps=~s/<select([^<]*)>/ /g;
                                      $corps=~s/<!--([^<]*)-->/ /g;
                                      $corps=~s/<map([^<]*)>/ /g;
                                      $corps=~s/<area([^<]*)>/ /g;
                                      $corps=~s/<a ([^<]*)>/ /g;
                                      $corps=~s/<span([^<]*)>/ /g;
                                      $corps=~s/<cr([^<]*)>/ /g;
                                      $corps=~s/<title([^<]*)>/ /g;
                                      $corps=~s/<html([^<]*)>/ /g;
                                      $corps=~s/<head([^<]*)>/ /g;
                                      $corps=~s/<body([^<]*)>/ /g;
                                      $corps=~s/<meta([^<]*)>/ /g;
                                      $corps=~s/<link([^<]*)>/ /g;
                                      $corps=~s/<div([^<]*)>/ /g;
                                      $corps=~s/<p([^<]*)>/ /g;
                                      $corps=~s/<basefont([^<]*)>/ /g;
                                      $corps=~s/<font([^<]*)>/ /g;
                                      $corps=~s/<em([^<]*)>/ /g;
                                      $corps=~s/<strong([^<]*)>/ /g;
                                      $corps=~s/<code([^<]*)>/ /g;
                                      $corps=~s/<kbd([^<]*)>/ /g;
                                      $corps=~s/<var([^<]*)>/ /g;
                                      $corps=~s/<address([^<]*)>/ /g;
                                      $corps=~s/<blockquote([^<]*)>/ /g;
                                      $corps=~s/<blink([^<]*)>/ /g;
                                      $corps=~s/<strike([^<]*)>/ /g;
                                      $corps=~s/<script([^<]*)>/ /g;
                                      $corps=~s/<listing([^<]*)>/ /g;
                                      $corps=~s/<big([^<]*)>/ /g;
                                      $corps=~s/<small([^<]*)>/ /g;
                                      $corps=~s/<sup([^<]*)>/ /g;
                                      $corps=~s/<sub([^<]*)>/ /g;
                                      $corps=~s/<i([^<]*)>/ /g;
                                      $corps=~s/<b([^<]*)>/ /g;
                                      $corps=~s/<tt([^<]*)>/ /g;
                                      $corps=~s/<u([^<]*)>/ /g;
                                      $corps=~s/<br([^<]*)>/ /g;
                                      $corps=~s/<nobr([^<]*)>/ /g;
                                      $corps=~s/<wbr([^<]*)>/ /g;
                                      $corps=~s/<center([^<]*)>/ /g;
                                      $corps=~s/<ul([^<]*)>/ /g;
                                      $corps=~s/<li([^<]*)>/ /g;
                                      $corps=~s/<ol([^<]*)>/ /g;
                                      $corps=~s/<menu([^<]*)>/ /g;
                                      $corps=~s/<pre([^<]*)>/ /g;
                                      $corps=~s/<hr([^<]*)>/ /g;
                                      $corps=~s/<a name([^<]*)>/ /g;
                                      $corps=~s/<a href([^<]*)>/ /g;
                                      $corps=~s/<img([^<]*)>/ /g;
                                      $corps=~s/<table([^<]*)>/ /g;
                                      $corps=~s/<caption([^<]*)>/ /g;
                                      $corps=~s/<tr([^<]*)>/ /g;
                                      $corps=~s/<th([^<]*)>/ /g;
                                      $corps=~s/<td([^<]*)>/ /g;

                                      $corps=~s/<\/([^<]*)>/ /g;
                                      }
                                      0
                                      1. Modérateur
                                        Je ne comprends pas.

                                        je suppose que tu as ajouté le bout de code dans ton script et il ne fonctionne pas.

                                        comme je te l'ai déjà dit, exécute seulement le bout de conde que je t'ai donnée en oubliant ce que tu as

                                        et fait comme moi, affiche ici ce que tu exécute (ET UTILISE LES BALISES CODE)

                                        tu peux afficher ton script.
                                        N'aie pas peur, je ne vais pas voler ton travail :-) j'ai d'autre chose à faire
                                        Si tu veux que je t'aide, alors aide moi ;-)
                                        0
                                        • 1
                                        • 2