What is the best way to count the number of times that a character
appears in a string?

Currently i do this:

----
my $string = "abracadabra";
my @matches = ($string =~ /a/g);
print scalar @matches; # 5
print "@matches"; # a a a a a
----

Is there a way to do it without the intermediate array?

This doesn't work:

----
my $string = "abracadabra";
print scalar ($string =~ /a/g); # prints 1!
----

I can use this:

----
my $matches = ($string =~ s/(a)/$1/g);
----

It replaces the characters with itself and returns the number of
substitutions, but it doesn't improve readability.

Any other ideas?

-- 
Amir Elisha Aharoni
words: http://aharoni.wordpress.com/
music: http://www.myspace.com/tzabari/
_______________________________________________
Perl mailing list
[email protected]
http://perl.org.il/mailman/listinfo/perl

Reply via email to