Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

m modifier not doing what I'm expecting?

by ultranerds (Pilgrim)
on Dec 21, 2011 at 12:09 UTC ( #944601=perlquestion: print w/ replies, xml ) Need Help??
ultranerds has asked for the wisdom of the Perl Monks concerning the following question:

Hi, I'm trying to work out why this regex isn't working as I'm expecting. I'm using the /m modifier to make it treat the data as "new lines" per row, but it seems to just keep looping through on the first one:
my $data = <<_DATA_; == Example header 1 == a f == Header 2 example ==== sub header a sub sub header :) == Testing header item with some stuff in [[fffsdfsdf]] _DATA_ while ($data =~ /^\=\= (.+?)$/m) { print "FOO: $1 \n"; }
..just keeps printing out:

FOO: Example header 1 (repeatedly, til you kill the script)

Can anyone point me to where I'm going wrong?

TIA!

Andy

Comment on m modifier not doing what I'm expecting?
Download Code
Re: m modifier not doing what I'm expecting?
by moritz (Cardinal) on Dec 21, 2011 at 12:14 UTC

      This is not a problem here, as the dot isn't supposed to match a newline.

Re: m modifier not doing what I'm expecting?
by Eliya (Vicar) on Dec 21, 2011 at 12:15 UTC

    You also want the /g modifier.  (/m alone matches from the beginning every time, thus the endless loop...)

      Aaah thanks - so was just missing the /g ... works like a charm now. Thanks!

      Andy

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (11)
As of 2014-08-28 11:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (259 votes), past polls