Expression regulière avec perl [Résolu/Fermé]

Signaler
-
Messages postés
18242
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
13 juin 2021
-
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

Messages postés
18242
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
13 juin 2021
5 308
hello
qu'est ce qui ne marche pas ?
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);
Messages postés
18242
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
13 juin 2021
5 308
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 
$ 
Merci Dubcek, ça fonctionne aussi finalement. J'ai remplacer l'expr. reg. par ça $ligne=~s/[0-9]//g;
Messages postés
18242
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
13 juin 2021
5 308
avec le if, il n'affiche que les lignes qui contenaient un chiffre