Grazie 1k Emanuele :)<br><br><div class="gmail_quote">Il giorno 22 giugno 2009 00.28, Emanuele Zeppieri <span dir="ltr"><<a href="mailto:emazep@gmail.com">emazep@gmail.com</a>></span> ha scritto:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
2009/6/22 Emanuele Zeppieri <<a href="mailto:emazep@gmail.com">emazep@gmail.com</a>>:<br>
<div class="im">> 2009/6/21 Francesco Cuccaro <<a href="mailto:cuccaro.francesco@gmail.com">cuccaro.francesco@gmail.com</a>><br>
>><br>
>> Mi rispondo da solo,<br>
>> Un mio amcio (che ringrazio) mi ha suggerito questo<br>
>><br>
>> my @dummy = '' =~/(?:$re)?($)/;<br>
>> print scalar(@dummy)-1;<br>
><br>
> Ciao Francesco.<br>
><br>
> Forse riusciamo a sorprendere il tuo amico ;-)<br>
><br>
> my $count =()= $string =~ /pattern/;<br>
><br>
> P.S.<br>
><br>
> Nel tuo esempio (o del tuo amico) c'è una piccola imprecisione, doveva essere:<br>
><br>
> print scalar @dummy;<br>
><br>
> senza sottrargli 1, perché vuoi il numero di elementi dell'array, non<br>
> l'indice massimo.<br>
<br>
</div>Rileggendo meglio il tuo esempio, intendevi mica "contare il numero di<br>
/captures/ presenti nel pattern"? (Perché contare i match significa<br>
tutt'altra cosa).<br>
<br>
Comunque il trucco si applica ugualmente, permettendoci come sopra di<br>
risparmiare l'istanziazione dell'array d'appoggio:<br>
<br>
my $count =()= '' =~ /(?:pattern)?/;<br>
<br>
E ometterei pure il sub-pattern finale ($), perché non ne vedo la<br>
necessità (così rimane valido pure il fatto che non si deve sottrarre<br>
1 a scalar(@dummy) ).<br>
<div><div></div><div class="h5">_______________________________________________<br>
Roma mailing list<br>
<a href="mailto:Roma@pm.org">Roma@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/roma" target="_blank">http://mail.pm.org/mailman/listinfo/roma</a><br>
</div></div></blockquote></div><br>