Perl help while ($httpd_file =~
I could use a hand with this script. I need to add an if to be sure I dont overwrite an existing home2 user. Here is what I have so far.!/usr/bin/perl
my $httpd_conf = '/etc/httpd/conf/httpd.conf';
my $home_dir = 'home2';
my $httpd_file = '';
open(HTTPD, "<$httpd_conf");
{
local $/ = undef;
$httpd_file = <HTTPD>;
}
close(HTTPD);
while ($httpd_file =~ m/\n\s*<VirtualHost(.+?)<\/VirtualHost>\s*\n/sig) {
my $data = $1;
my $document_root = $1 if $data =~ /^DocumentRoot (\/$home_dir.*)$/m;
if ($document_root) {
my $user = $1 if $data =~ /^User (.*)$/m;
print("$user - $document_root\n");
system("mkdir /$home_dir/$user");
system("chmod 711 /$home_dir/$user");
system("chown $user /$home_dir/$user");
system("chgrp $user /$home_dir/$user");
system("touch /$home_dir/$user/.contactemail");
system("chmod 644 /$home_dir/$user/.contactemail");
system("chown $user /$home_dir/$user/.contactemail");
system("chgrp $user /$home_dir/$user/.contactemail");
system("mkdir /$home_dir/$user/mail");
system("chmod 755 /$home_dir/$user/mail");
system("chown $user /$home_dir/$user/mail");
system("chgrp mail /$home_dir/$user/mail");
system("mkdir /$home_dir/$user/public_ftp");
system("chmod 755 /$home_dir/$user/public_ftp");
system("chown $user /$home_dir/$user/public_ftp");
system("chgrp $user /$home_dir/$user/public_ftp");