in reply to Directory Structure.

chdir $file; chdir $dir;

Can you explain the purpose of that?

ISTM that your code has too many statments. Here's an SSCCE

#!/usr/bin/env perl use strict; use warnings; use Test::More tests => 3; # Do all this in /tmp because we don't want permission trouble or to # pollute real dirs while testing chdir '/tmp'; my $dir = 'VEHICLES'; my @files = qw/CARS BIKES/; mkdir $dir; ok (-d $dir); chdir $dir; foreach my $subdir (@files) { mkdir $subdir; ok (-d $subdir); }

Running gives:

$ ./
ok 1
ok 2
ok 3
$ tree VEHICLES/
└── CARS

2 directories, 0 files