in reply to print directory contents

You may want to look at File::Find to get the list of files. Something similar to the following code will find a list of all the .txt files in the start directory (Note: You can always modify the regex if need be):
use strict; use warnings; use File::Find; my @files; my $dir = "C:/Apache2/cgi-bin/start"; find( sub { push @files, $File::Find::name if -f && /.+\.txt/ }, $dir +); print "Content-type: text/html\n\n"; foreach my $file (@files) { open FILE, '<', $file # This is assuming you only want to read th +e file or die("Can't open file ($file): $!"); while (<FILE>) { print $_; } close (FILE) or die("File close error ($file): $!"); }