Maybe you could do a pseudo slurp:
my $slrp = ''; while(<$fh>){ if (/ ^('domain.com' address bit)$ ## regex to catch lines that match the +section start (capturing it too) /x){ ## you have found a new section so process the previous one ## provided you have already seen one... &process_slrp() if (defined$slrp); ## restart the slurp, starting with the new domain.com bit ...store $slrp somewhere appropriate... ## reset $slrp = $1; ## start again } else { ## it isn't the start of a section so stick it into the slurp $slrp .= $_; } }
Although i don't see why you can't slurp the whole file and do a multiline regex?
m{ (domain bit.+) ##domain bit and everything until Successful downloads:(.*) ## next title, capture everything else u +ntil.. Failed downloads:(.*) ## next title, capture everything until... etc... }mxog
This way you can directly parse out all the sections, even if they are not defined and stick them in an array to work with afterwards?
In reply to Re: Multi-line regex help needed
by BioLion
in thread Multi-line regex help needed
by vxp
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |