I am not really sure what the output you want is? Can you give an example of what you want the output to be?
do you want to capture the newline? skip it? if you want to match whether it is there or not you could try :
while ($section =~ m|(?:\n)?\=\=\=([a-z0-9_ &\[\]ÀÂÄàâäÇçÉÊÈËéêèëÏÌÎ +ïìîÖÔÒöôòÜÛÙüûùA-Z?!;«»()"\s\-]+)\=\=\=|g) { push @subheaders, $1; }
But this is makes no sense. I think your regex may no longer be working because your $section (the example data given?) is one big string (with \n's) in it.So doing a global pattern match (m//g) and including ^ to specify only a match at the start breaks your successful pattern because you are not matching against your input line by line (where ^ would be applicable) but as one big string, so it will only match the very start of the string, i.e. the "==Introduction==" bit, regardless of the /g modifier.
Wow, went on a bit there. In short, your pattern is failing because you are matching against a slurp, not line by line, so the ^ breaks your pattern.
This perlfaq might help.
Alternately i have totally missed the point and should pipe down.
In reply to Re: Regex question - either starts, or has newline prefixing?
by BioLion
in thread Regex question - either starts, or has newline prefixing?
by ultranerds
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |