Expression regulière avec perl

Résolu
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. Contributeur
    hello
    qu'est ce qui ne marche pas ?
    0
    1. 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
      1. Contributeur
        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
        1. Merci Dubcek, ça fonctionne aussi finalement. J'ai remplacer l'expr. reg. par ça $ligne=~s/[0-9]//g;
          0
          1. Contributeur
            avec le if, il n'affiche que les lignes qui contenaient un chiffre
            0