Is there a Perl shortcut to count the number of matches in a string?

前端 未结 9 890
生来不讨喜
生来不讨喜 2020-12-01 00:54

Suppose I have:

my $string = \"one.two.three.four\";

How should I play with context to get the number of times the pattern found a match (3

9条回答
  •  感动是毒
    2020-12-01 01:47

    I think the clearest way to describe this would be to avoid the instant-cast to scalar. First assign to an array, and then use that array in scalar context. That's basically what the = () = idiom will do, but without the (rarely used) idiom:

    my $string = "one.two.three.four";
    my @count = $string =~ /\./g;
    print scalar @count;
    

提交回复
热议问题