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> &lt;<a href="mailto:blabos@gmail.com">blabos@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;">
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>&lt;code&gt;<div><br>my $string = &quot;Estou feliz, passei em Matematica Discreta I, feliz!&quot;;
<br></div></span>printf &quot;Apareceu %s vezes...\n&quot;, $c=@b=$string=~/feliz/g;<br><br>&lt;/code&gt;<br><br>Na verdade era mais pra &lt;code&gt; scalar( @b = $string =~ /feliz/g ); &lt;/code&gt;, 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 &lt;<a href="mailto:fernandocorrea@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
fernandocorrea@gmail.com</a>&gt; 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>&lt;code&gt;<div>
<br>my $string = &quot;Estou feliz, passei em Matematica Discreta I, feliz!&quot;;
<br></div>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" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">


mdacwb@gmail.com</a>&gt; 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 &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" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
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" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">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" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
Rio-pm@pm.org</a><br>&gt; &gt; <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>&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" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
www.slackwarezine.com.br
</a><br>
&gt; - <a href="http://lornlab.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://lornlab.org</a><br>&gt; - <a href="http://sao-paulo.pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
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" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Rio-pm@pm.org</a><br>&gt; <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>&gt;<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>[]&#39;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>[]&#39;s Fernando