[Cascavel-pm] Contando caractares

Solli Honorio shonorio em gmail.com
Terça Novembro 20 12:28:36 PST 2007


Não resisti, que tal um golfe ?

$q=$v=~y/a//;

... e tem outra coisa, o 'tr' ou 'y' é mais rápido ...
<code>
use Benchmark qw(:all) ;
my $var   = 'parlamentarismo';

cmpthese(-1, {
            'array' => '@{[$var =~ /a/g]}',
            'while' => 'while ( $var =~ /a/g ) { $qtd02++}',
            'tr'    => '$var =~ y/a/A/'
              });
</code>

<resultado>
           Rate array while    tr
array 1090778/s    --  -54%  -71%
while 2388776/s  119%    --  -37%
tr    3781862/s  247%   58%    --
</resultado>

On Nov 20, 2007 3:15 PM, Adriano Ferreira <a.r.ferreira em gmail.com> wrote:

> On Nov 20, 2007 9:35 AM,  <fernandolouis em terra.com.br> wrote:
> >
> >
> > Dae Pessoal... olha só...
> >
> > $variavel = "casa";
> > Como faço pra contar quantos "a" tem em $variavel?
> > Tentei o seguinte, mas não fucionou:
> > $qtd = $variavel =~ m /a/g;
>
> Se o que você quer é apenas contar caracteres, use tr//
>
> $qtd = $variavel =~ tr/a/a/;
>
> Leia sobre o operator em "perldoc perlop" e sobre este uso em particular.
>
> >
> > []s,
> > Fernando
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>



-- 
"o animal satisfeito dorme". - Guimarães Rosa
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20071120/c0516b2c/attachment.html 


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