open IN, '<', 'clients.txt' or die "Can't open file 'clients.txt': $!"; @clients = ; chomp @clients; #### open IN, '<', 'subdirectories.txt' or die "Can't open file 'subdirectories.txt': $!"; @subdirs = ; chomp @subdirs; #### my $year = 2005; mkdir $year, 0755; foreach my $client (@clients) { $client =~ /(\d*)\d/ or next; # we need digits; my $range = "${1}0_${1}9"; -d "$year/$range" or mkdir "$year/$range", 0755 or die "Can't create directory '$year/$range': $!"; -d "$year/$range/$client" or mkdir "$year/$range/$client", 0755 or die "Can't create directory '$year/$range/$client': $!"; foreach my $subdir (@subdirs) { -d "$year/$range/$client/$subdir" or mkdir "$year/$range/$client/$subdir", 0755 or die "Can't create directory '$year/$range/$client/$subdir': $!"; } }