I followed your links too but this problem is still unsolved.
UPDATE: here is the modified code which is also not working
#!/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=<FH>){
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{"Dep
+t"}]);
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";
O/p is like this:
NAME Age Department
------- ------- -------
Ram
25 years
HR
Ravi
28 years
HR
UPDATE:
It's done by using :
if($Employee{"Name"} && $Employee{"Age"} && $Employee{"Dept"}){
$tb->load([$Employee{"Name"},$Employee{"Age"},$Employee{"
+Dept"}]);
undef %Employee;
}