This will get all files from the two directories, and place their contents into an array. You can always regex the @filep array for specific extensions after you are done getting the directory listings.
$dir1 = "/foo/bar1"
$dir2 = "/foo/bar2"
@filep;
@fcontents;
get_dir($dir1);
get_dir($dir2);
for (@filep) {
my $fc = get_file($_);
push @fcontents, $fc;
}
print "@fcontents";
sub get_dir {
my $dir = shift ;
opendir(DIR, $dir) || die "Cannot open dir. $!" ;
my @files = grep !/^\.\.?$/, readdir DIR ;
closedir DIR;
for (@files) {
$fn = join '/', ($dir, $_);
push @filep, $fn;
#return @filep ;
}
sub get_file {
my $file = shift;
local *IN;
open (IN, "<$file") or die "Cannot read '$file': $!";
if (wantarray) {
return <IN>;
} else {
return join '', <IN>;
}
}
|