salut,
comment savoir le nombre de 'match' retournés pas un expression
ex: si j'ai $_ = "fooFOObarBAR";$_ =~ /[a-z]/
=> 6
merci
cvv3@yahoo.com
salut,
comment savoir le nombre de 'match' retournés pas un expression
ex: si j'ai $_ = "fooFOObarBAR";$_ =~ /[a-z]/
=> 6
merci
cvv3@yahoo.com
Utilise le modifier g
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $x = "fooFOObarBAR"; $i = 0; while($x =~ /[a-z]/g) { $i++; } print $i;
Tout à fait, utilise /g, mais tu n'as pas besoin de faire une boucle :
--
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 my $x = "fooFOObarBAR"; my $i = () = ($x =~ m/[a-z]/g);
Jedaï
Ou alors en forçant le contexte de liste, puis scalaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part print scalar (my @nb = $x =~ /[a-z]/g);
Code Jedai : Sélectionner tout - Visualiser dans une fenêtre à part my $i = () = ($x =~ m/[a-z]/g);
C'est vraiment étrange cette écriture avec des parenthèses vides. Je comprends que cela force la réponse à être numérique mais comment cela fonctionne-t'il?
Merci,
-- Jasmine --
Comme d'hab' la solution de Jedai (avec une liste anonyme) est plus élégante (l'avais pas vu passer).
J'ai compris grâce à l'intervention d'Iblis. Cela crée une liste anonyme forçant le contexte de liste.Envoyé par Jasmine
-- Jasmine --
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager