http://qs321.pair.com?node_id=1228223


in reply to mkdir permission

Perhaps you need to create the intermediate sub directories first.

#!/usr/binperl use strict; use CGI; use CGI::Carp 'fatalsToBrowser'; # add this only during debugging my $cgi = CGI->new(); my @nombre_archivos = ("NI","RP","RDZ","CRF"); my $archivos = $cgi->param("archivos"); # warning list context ? my $inst = $cgi->param("inst"); my $fecha = $cgi->param("date1"); my ($anio,$mes,$dia)= unpack 'x2 a2 x a2 x a2',$fecha; my $ymd = join '-',$anio,$mes,$dia; my $upload_dir = "/var/www/html/public_html/"; for my $subdir ('rev',$inst,$ymd){ $upload_dir .= $subdir.'/'; unless (-d $upload_dir){ mkdir $upload_dir, 0775 or die "Could not mkdir $upload_dir : $!"; } } my $ind = 1; my $filename = "$upload_dir/$ymd-$nombre_archivos[$ind]"; open UPLOADFILE, '>', $filename or die "Could not open $filename : $!"; # add filename into error + message print UPLOADFILE "Test"; close UPLOADFILE;

Update : Or alternatively use make_path using File::Path

poj