sim...mas ainda tenho menos caracteres...<br><br><div><span class="gmail_quote">Em 01/12/07, <b class="gmail_sendername">Blabos de Blebe</b> <<a href="mailto:blabos@gmail.com">blabos@gmail.com</a>> escreveu:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Detalhe besta, como quase disse o fernando, m// no contexto de lista retorna $1, $2, ..., $N,<br>porém utilizando o modificador g, retorna todas as substrings que combinaram. Depois é só<br>contar o tamanho da lista.<br><br>
E, não, eu não sabia isso de cabeça, é que eu to nesse capítulo do livro... :p<br><br>O exemplo do livro diz algo parecido com<span class="q"><br><br><code><div><br>my $string = "Estou feliz, passei em Matematica Discreta I, feliz!";
<br></div></span>printf "Apareceu %s vezes...\n", $c=@b=$string=~/feliz/g;<br><br></code><br><br>Na verdade era mais pra <code> scalar( @b = $string =~ /feliz/g ); </code>, que eu<br>achei longo, mas mais legível.
<br><br>Espero ter ajudado<div><span class="e" id="q_11696ed94eb453f5_3"><br><br><br><br><div class="gmail_quote">On Dec 1, 2007 1:46 PM, Fernando Oliveira <<a href="mailto:fernandocorrea@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
fernandocorrea@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
o m//g em contexto de lista retorna uma lista com $1, $2, ..., $N. Mas em contexto estalar só retorna um booleano... uma solução com menor performance, mas com menos caracteres q o for, seria:<br><br><code><div>
<br>my $string = "Estou feliz, passei em Matematica Discreta I, feliz!";
<br></div>printf "Apareceu %s vezes...\n", scalar($string =~ s/(feliz)/$1/g);<br></code><br><br><div><span class="gmail_quote">Em 01/12/07, <b class="gmail_sendername">Marco A P D'Andrade</b> <<a href="mailto:mdacwb@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
mdacwb@gmail.com</a>> escreveu:</span><div><div></div><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hummm...<br><br>
Posso estar enganado, mas acho que existem mais nuancias...
<br>(daqui não tenho como testar, e quero dar meu pitaco ;) )<br><br>Reforçando o contexto scalar da regex, com o argumento "g" já é feita<br>a pesquisa completa.<br><br>my $string = 'Estou feliz, passei em Matematica Discreta I, feliz!';
<br>printf "Apareceu %s vezes...\n", scalar($string =~ m/feliz/g);<br><br>Se fosse utilizado um foreach, em vez do while eu não teria tanta<br>dúvida sobre o loop, pois seriam avaliados todos os elementos<br>retornados, já o while, não sei se na proxima interação ele refará a
<br>pesquisa...<br><br>Ok... devia ter testado, mas queria dar o pitaco ;)<br><br>Sds,<br>Marco Antonio<br><br>Em 01/12/07, Lorn<<a href="mailto:lorn.br@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
lorn.br@gmail.com</a>> escreveu:<br>
> Você estava checando só uma vez :P precisa checar até acabar toda a frase :)
<br>><br>><br>> use warnings;<br>> use strict;<br>><br>> my $cont;<br>> my $string = 'Estou feliz, passei em Matematica Discreta I, feliz!';<br>> &aparece($string);<br>><br>> sub aparece{
<br>> my $frase = shift();<br>> while ($string =~ m/feliz/g){<br>> $cont++;<br>> };<br>> print "Feliz apareceu $cont vezes\n";<br>> }<br>><br>> On Dec 1, 2007 11:41 AM, gabriel lima <
<a href="mailto:gabriellima333@hotmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">gabriellima333@hotmail.com</a>> wrote:<br>> ><br>> ><br>> > Olá pessoal tudo bem?<br>
> > Estava tentando criar uma sub-rotina simples apenas
<br>> > para estudo da linguagem Perl. Esta sub-rotina mostra
<br>> > quantas vezes uma palavra aparece em uma string.<br>> > O problema é que ela só retorna 1, ou seja, fala que<br>> > só acha esta palavra uma vez, mesmo tendo aparecido<br>> > repetida vezes na string, veja:
<br>> ><br>> > #! D:\Perl\bin\Perl.exe<br>> ><br>> > use warnings;<br>> > use strict;<br>> ><br>> > my $cont;<br>> > my $string = 'Estou feliz, passei em Matematica Discreta I, feliz!';
<br>> > &aparece($string);<br>> ><br>> > sub aparece{<br>> > my $frase = shift();<br>> > $cont++ if $string =~ m/feliz/;<br>> > print "Feliz apareceu $cont vezes\n";
<br>> > }<br>> ><br>> > Saída -> Feliz apareceu 1 vezes<br>> ><br>> > ________________________________<br>> Receba as últimas notícias do Brasil e do mundo direto no seu Messenger! É<br>
> GRÁTIS! Assine já!<br>> > _______________________________________________<br>> > Rio-pm mailing list<br>> > <a href="mailto:Rio-pm@pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
Rio-pm@pm.org</a><br>> > <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://mail.pm.org/mailman/listinfo/rio-pm</a><br>> ><br>><br>><br>><br>> --<br>> Lindolfo "Lorn" Rodrigues<br>> - <a href="http://www.slackwarezine.com.br" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
www.slackwarezine.com.br
</a><br>
> - <a href="http://lornlab.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://lornlab.org</a><br>> - <a href="http://sao-paulo.pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://sao-paulo.pm.org</a><br>> use Catalyst;<br>> _______________________________________________
<br>> Rio-pm mailing list
<br>> <a href="mailto:Rio-pm@pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Rio-pm@pm.org</a><br>> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://mail.pm.org/mailman/listinfo/rio-pm</a><br>><br>_______________________________________________
<br>Rio-pm mailing list<br><a href="mailto:Rio-pm@pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Rio-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://mail.pm.org/mailman/listinfo/rio-pm</a><br></blockquote>
</div></div></div><font color="#888888"><br><br clear="all">
<br>-- <br>[]'s Fernando
</font><br>_______________________________________________<br>Rio-pm mailing list<br><a href="mailto:Rio-pm@pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Rio-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://mail.pm.org/mailman/listinfo/rio-pm
</a><br></blockquote></div><br>
</span></div><br>_______________________________________________<br>Rio-pm mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">
http://mail.pm.org/mailman/listinfo/rio-pm</a><br></blockquote></div><br><br clear="all"><br>-- <br>[]'s Fernando