[Rio-pm] Expressão Regular m//

Marco A P D'Andrade mdacwb em gmail.com
Sábado Dezembro 1 06:55:16 PST 2007


Hummm...

Posso estar enganado, mas acho que existem mais nuancias...
(daqui não tenho como testar, e quero dar meu pitaco ;) )

Reforçando o contexto scalar da regex, com o argumento "g" já é feita
a pesquisa completa.

my $string = 'Estou feliz, passei em Matematica Discreta I, feliz!';
printf "Apareceu %s vezes...\n", scalar($string =~ m/feliz/g);

Se fosse utilizado um foreach, em vez do while eu não teria tanta
dúvida sobre o loop, pois seriam avaliados todos os elementos
retornados, já o while, não sei se na proxima interação ele refará a
pesquisa...

Ok... devia ter testado, mas queria dar o pitaco ;)

Sds,
Marco Antonio

Em 01/12/07, Lorn<lorn.br em gmail.com> escreveu:
> Você estava checando só uma vez :P precisa checar até acabar toda a frase :)
>
>
> use warnings;
> use strict;
>
> my $cont;
> my $string = 'Estou feliz, passei em Matematica Discreta I, feliz!';
> &aparece($string);
>
> sub aparece{
>   my $frase = shift();
>   while ($string =~ m/feliz/g){
>     $cont++;
>   };
>   print "Feliz apareceu $cont vezes\n";
> }
>
> On Dec 1, 2007 11:41 AM, gabriel lima <gabriellima333 em hotmail.com> wrote:
> >
> >
> > Olá pessoal tudo bem?
> > Estava tentando criar uma sub-rotina simples apenas
> > para estudo da linguagem Perl. Esta sub-rotina mostra
> > quantas vezes uma palavra aparece em uma string.
> > O problema é que ela só retorna 1, ou seja, fala que
> > só acha esta palavra uma vez, mesmo tendo aparecido
> > repetida vezes na string, veja:
> >
> > #! D:\Perl\bin\Perl.exe
> >
> > use warnings;
> > use strict;
> >
> > my $cont;
> > my $string = 'Estou feliz, passei em Matematica Discreta I, feliz!';
> > &aparece($string);
> >
> > sub aparece{
> >   my $frase = shift();
> >   $cont++ if $string =~ m/feliz/;
> >   print "Feliz apareceu $cont vezes\n";
> > }
> >
> > Saída -> Feliz apareceu 1 vezes
> >
> > ________________________________
> Receba as últimas notícias do Brasil e do mundo direto no seu Messenger! É
> GRÁTIS! Assine já!
> > _______________________________________________
> > Rio-pm mailing list
> > Rio-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
> >
>
>
>
> --
> Lindolfo "Lorn" Rodrigues
> - www.slackwarezine.com.br
> - http://lornlab.org
> - http://sao-paulo.pm.org
> use Catalyst;
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>


Mais detalhes sobre a lista de discussão Rio-pm