Hi hippo,
I think you're thinking of s///g, since m// doesn't return a count (perlop):
$ perl -MData::Dumper -e 'print Dumper( "abbbbc"=~/b/ )' $VAR1 = 1; $ perl -MData::Dumper -e 'print Dumper( "abbbbc"=~/(b)/ )' $VAR1 = 'b'; $ perl -MData::Dumper -e 'print Dumper(scalar("abbbbc"=~/b/ ))' $VAR1 = 1; $ perl -MData::Dumper -e 'print Dumper(scalar("abbbbc"=~/(b)/ ))' $VAR1 = 1; $ perl -MData::Dumper -e 'print Dumper(scalar("abbbbc"=~/b/g ))' $VAR1 = 1; $ perl -MData::Dumper -e 'print Dumper(scalar("abbbbc"=~/(b)/g))' $VAR1 = 1; $ perl -MData::Dumper -e 'print Dumper( "abbbbc"=~/b/g )' $VAR1 = 'b'; $VAR2 = 'b'; $VAR3 = 'b'; $VAR4 = 'b'; $ perl -MData::Dumper -e 'print Dumper( "abbbbc"=~/(b)/g )' $VAR1 = 'b'; $VAR2 = 'b'; $VAR3 = 'b'; $VAR4 = 'b';
To get a count you need to use the =()= trick (perlsecret):
$ perl -MData::Dumper -e 'print Dumper(scalar(()="abbbbc"=~/b/g))' $VAR1 = 4; $ perl -MData::Dumper -e 'print Dumper(scalar(()="abbbbc"=~/(b)/g))' $VAR1 = 4;
Regards,
-- Hauke D
In reply to Re^4: How can I test for the representation of an integer?
by haukex
in thread How can I test for the representation of an integer?
by sm@sh
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |