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>; } }
In reply to Re: reading directories
by HamNRye
in thread reading directories
by data67
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |