I'm guessing the problem is the newline in the regex. If you want it to match across multiple lines, I think the /ms modifiers should do the trick.
if ( m/{.*}[Oo]rder deny,allow(.*)\n(.*)[Dd]eny from all(.*)/ms) { NOTE: I haven't tried this myself!:) failing that, $ perldoc perlre may be of help. On Thu, Jul 14, 2016 at 3:50 PM, Darryl Philip Baker < darryl.ba...@northwestern.edu> wrote: > While not truly a beginner it feels that way after not doing anything > substantial in Perl in many years. > > I currently need a program to take Apache HTTPD configuration files in > HTTPD 2.2 syntax used in current production and convert them to HTTPD 2.4 > syntax in future production. I will need to do this many times weekly until > we cut over to the new systems. My first challenge is converting the > permissions syntax: > Order deny,allow > Deny from all > To > Require all denied > And similar transformations. I was able to make this modification if I set > $/ = undef and look at the file as a whole. My problem is I really want to > process the file line by line to remove several <IfDefine BLAH> ... > </IfDefine> blocks which may have other conditional code blocks contained > within them. I have considered using two separate scripts and a two pass > solution but there is a part of me which would rather have a single script > do it all in one pass. > > My current attempt, after several tries, is: > if ( m/{.*}[Oo]rder deny,allow(.*)\n(.*)[Dd]eny from all(.*)/) { > print "\tRequire all denied\n"; > next; > } > While not causing syntax errors it is not doing what I want either. I am > probably using the 'm/' incorrectly and need your help. > > Darryl Baker > > -- > To unsubscribe, e-mail: beginners-unsubscr...@perl.org > For additional commands, e-mail: beginners-h...@perl.org > http://learn.perl.org/ > > > -- Andrew Solomon Mentor@Geekuni http://geekuni.com/ http://www.linkedin.com/in/asolomon