Expression regulière avec perl

Résolu
syl -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je cherche à identifier des numeros dans un text puis de les remplacer par rien par le script ci-desous mais le script ne marche pas. merci de m'indiquer ce qui ne vas pas si possible.

#!/usr/bin/perl -w
open(FILEINPUT,"$ARGV[0]") || die "erreur de lecture de fichier :$!";
while ($ligne=<FILEINPUT>){
if ($ligne=~ s/[0-9]//g){
print $ligne;
}
}
close(FILEINPUT);

5 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    qu'est ce qui ne marche pas ?
    0
  2. syl
     
    Hi, Je n'arrive pas a reconaitre les nombres dans un text pour les remplacer par rien. Quand je passe le programme sur le text il me sort le text sans modification. Ce que je souhaite faire c'est de passer le script sur le text pour que l'expression reg. remplace les nombre par rien. Je crois mon problème se trouve au niveau 'print $ligne

    open(FILEINPUT,"$ARGV[0]") || die "erreur de lecture de fichier :$!";
    while ($ligne=<FILEINPUT>){
    # on cherche une balise : <[^>]+>
    $ligne=~s/0-9//g;
    print $ligne;
    }
    close(FILEINPUT);
    0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    chez moi, il fonctionne
    $ cat a3
    a 1 a 2 a 3
    b 2 b 4 b8 b 0
    c 10 234 f 33 g 4
    $ ./p4 a3
    a  a  a 
    b  b  b b 
    c   f  g 
    $ 
    
    0
  4. syl
     
    Merci Dubcek, ça fonctionne aussi finalement. J'ai remplacer l'expr. reg. par ça $ligne=~s/[0-9]//g;
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    avec le if, il n'affiche que les lignes qui contenaient un chiffre
    0