$rawconfig =~ s{
(.+?)
}{
ReformulateLocation("$1", "$2");
}gimsex;
print $rawconfig;
sub ReformulateLocation {
my( $loc, $con ) = @_;
my @pairs = $con =~ m{ ^ \s* (\S+) \s+ ([^\r\n]+?) \s* $}gmix;
dd( { $loc, \@pairs } );
return " $con "; ## no change
}
__END__
{ "/" => ["MaxConnPerIP", 12, "NoIPLimit", "image/*"] }
{ "/location2" => ["MaxConnPerIP", 0] }
{ "/location3" => ["MaxConnPerIP", 0] }
## workaround of some kind
MaxConnPerIP 12
NoIPLimit image/*
MaxConnPerIP 0
MaxConnPerIP 0