in reply to Clean up httpd.conf virtual host mess with perl
My personal take on the whole thing would be as follows. I don't know if it could be regarded as better though.print OUT "<VirtualHost *:80>"; print OUT $vhost; print OUT "</VirtualHost>"; -> print OUT "$start$vhost$finish";
open(FH, '< vhosts.conf'); my $content = do {local $/; <FH> }; while ($content =~ m|(<VirtualHost \*:80>.*?</VirtualHost>)|sg) { my $vhost = $1; my ($name) = $vhost =~ m/ServerName\s(\S+)/; open(OUT, "> $name.conf") or die "Can't open outfile $name: $!\n"; print OUT $vhost; close(OUT); }
|
|---|