This is a variant of a FAQ ("How do I insert a line into a file" ?). The first part of your task is to figure out what pattern is going to be in the line you want to insert stuff after. Presumably the 'magic' line that tells you you're in the configuration for the right virtual host is the
ServerName bar.woo.org
One way of tackling your problem: open a file for writing, and open your httpd.conf file for reading. Set a flag when you find that magic line; simply print the line you read in from your old file to the new file, UNLESS the flag is set AND you've found the terminating line </VirtualHost>; all you need to do when that condition is met is print the new ScriptAlias line to the new file, and go on as before. Skeleton code (just to illustrate the logic):
# get name of person, put it in $name my $flag =0; while (<OLD>) { # set the flag $flag =1 if /[^#]*ServerName $name.woo.org/; #now check to see if we've found the ending line if ($flag && #</VirtualHost>#) { print NEW "ScriptAlias blah blah\n"; $flag =0; } print NEW; # implicit $_ }
HTH
Philosophy can be made out of anything. Or less -- Jerry A. Fodor
In reply to Re: Add entry into httpd.conf
by arturo
in thread Add entry into httpd.conf
by nebola
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |