http://qs321.pair.com?node_id=656782


in reply to Extracting the number of %'s in a string

To count them,

$_=q(aaa%bbbbb%cccccc%ddd); print tr/%//, $/;
prints '3'

To extract their positions;

$_ = 'aaa%bbbbb%cccccc%ddd'; print $-[0], ' ' while /%/g; print $/'
prints "3 9 16".

See perlvar for the @- array magic. You would push those values to an array, instead of printing, for further use.

After Compline,
Zaxo

Replies are listed 'Best First'.
Re^2: Extracting the number of %'s in a string
by moritz (Cardinal) on Dec 13, 2007 at 10:08 UTC
    The counting solution will give a wrong result if the string has a trailing %, because the OP wants the number of %s followed by another character.