here one possible perl approach for your problem. But regard what Abigail-II mentioned about the I/O-bottleneck.
use strict;
use warnings;
opendir (D,"."); #current working directory
while (my $f = readdir(D)) {
next unless -T $f; #only textfiles
print $f,"\n";
open (F, $f);
while (<F>) {
print;
}
}