»» mkdir ("$config{'root_dir'}/$in{'username'}", 0755);
mkdir ("$config{'root_dir'}/$in{'username'}", 0755 or die "mkdir: $!";
unless (-f "$config{'root_dir'}/$in{'username'}/index.cgi") {
open (INDEX_CGI,">$config{'root_dir'}/$in{'username'}/index.cgi");
open INDEX_CGI, ">$config{'root_dir'}/$in{'username'}/index.cgi")
or die "can't open: $!";
open (DEFAULT_HTML,"$config{'data_dir'}/default_html.txt");
open DEFAULT_HTML,"$config{'data_dir'}/default_html.txt")
or die "can't open: $!";
while (<DEFAULT_HTML>) { print INDEX_CGI $_; }
print INDEX_CGI for (<DEFAULT_HTML>);
close (DEFAULT_HTML);
close (INDEX_CGI);
}
Du solltest *immer* die Rückgabewerte prüfen, wenn Du eine Datei öffnest. Aber zu deinem eigentlichen Problem: Entweder Du gibst deiner Datei mit dem Perl-Befehl chmod (perldoc -f chmod) die richtigen Berechtigungen oder Du benutzt sysopen (perldoc -f sysopen und perldoc perlopentut).
Peter