#!/usr/lib/perl use DBI; use strict; use Text::Table; my ($dir,@files,$file,$output_file,$line,%Employee); $dir="D:/ckj/dummy"; chomp($dir); $output_file="D:/ckj/dummy/rep.txt"; opendir(DIR,"$dir") or die $!; @files=readdir(DIR) or die $!; close DIR; my $tb = Text::Table->new("NAME\n-------", "Age\n-------", "Department\n-------"); open(FH1,">$output_file") or die $!; foreach $file (@files){ open(FH, "<$dir/$file") or die $! if($file=~/\.txt$/); while($line=){ while($line=~/employee name is \: (.*?)\n/g){ $Employee{"Name"}=$1; } while($line=~/Age\: (.*?)\n/g){ $Employee{"Age"}=$1; } while($line=~/Department\: (.*?)\n/g){ $Employee{"Dept"}=$1; } #$tb->load([$Employee{"Name"},$Employee{"Age"},$Employee{"Dept"}]); if( /^\s*$/ ){ $tb->load([$Employee{"Name"},$Employee{"Age"},$Employee{"Dept"}]); undef %Employee; } } close FH; } print FH1 $tb; close FH1; print "Congratulations, report file has been saved as $output_file";