#!/usr/bin/perl use warnings; use strict; use File::Find; use File::Basename; my $base_dir = 'C:\Testdata'; # put in your base directory my ($dirname,$filename,$line,$resultfile,@fp,$file,$basedir1,$subdirlevel1,$subdirlevel2); my (@linecolumns,@dir_names,@file,@filenames,@filecount); open ($resultfile, '>>', 'C:\Results\resultfile.txt') or die "Can't open file: $!"; print $resultfile ''; print $resultfile "\n\n"; print $resultfile "\n"; print $resultfile "\n"; print $resultfile "\n"; print $resultfile "\n"; print $resultfile "\n"; opendir(IMD, $base_dir) || die("Cannot open directory"); my @thefiles= readdir(IMD); next if @thefiles eq '.' or @thefiles eq '..'; push(@thefiles, basename($base_dir)); #print $thefiles[2]; closedir(IMD); print $resultfile < TTX ; find( \&wanted, $base_dir ); print $resultfile "\n"; print $resultfile "\n"; sub wanted { return if $_ eq '.' or $_ eq '..'; if (-d) { print " >>> dive into: $_\n" if -d; $dirname = $_; push(@dir_names, basename($_)); } else { $basedir1 = $dir_names[0]; readout_file($_); ## call subroutine readout_file &write_output($_);## call subroutine to print std template in output file print "Output file has been generated successfully.. \n"; } }