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