Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: Error in my Regular expression pattern

by Marshall (Prior)
on Mar 18, 2012 at 16:54 UTC ( #960298=note: print w/ replies, xml ) Need Help??


in reply to Error in my Regular expression pattern

To expand upon the AnonMonk's suggestion.
Maybe this helps to show what is going on?

#!/usr/bin/perl -w use strict; my $string = "Twinkle twinkle little star"; my @matches = $string =~ m/twinkle/ig; print "Matches are: @matches\n"; # Matches are: Twinkle twinkle print "Number of matches: ",scalar @matches,"\n"; print "\n"; # this is the same without creating @matches # the () is a list and $n here is number of things # in that list # # Without the intervening ()=, to force list context, # you just get the "truthfulness" (0,1) of the match # with this, you get the number of things in the list # without having to create a named array (@matches) my $n = () = $string =~ m/twinkle/ig; print "Number of occurences = $n\n"; __END__ Matches are: Twinkle twinkle Number of matches: 2 Number of occurences = 2
PS: I try to avoid assigning to $_ when possible (and sometimes this is necessary), but I figure that $_ "belongs to Perl". The expression:
foreach ($string) { s/^\s*//; #delete leading spaces s/\s*$//; #delete trailing spaces }
is seen often and has this effect of assigning $string to $_. $string gets modified due to "aliasing".


Comment on Re: Error in my Regular expression pattern
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://960298]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (16)
As of 2015-07-07 15:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (90 votes), past polls