in reply to Error in my Regular expression pattern

Here is the "canonical" way of counting matches into a scalar:
~$ perl -e 'my $x=()="Twinkle twinkle little star"=~/twinkle/ig; print + qq|$x\n|' 2
Note the use of () as an intermediate to switch between scalar and list contexts.
I Sympathize because I too had trouble wrapping my head around this.

             All great truths begin as blasphemies.
                   ― George Bernard Shaw, writer, Nobel laureate (1856-1950)