in reply to Re^3: How can I test for the representation of an integer?
in thread How can I test for the representation of an integer?
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
|
|---|