my $dir1 = 'c:/reports/temp1/temp2'; my $dir2 = 'c:/output'; my( @dirs ) = split /\//, $dir1; $dirs[0] = $dir2; foreach my $dir ( @dirs ) { $dir2 .= '/' . $dir; mkdir $dir2 or die $!; }