#!/usr/bin/perl # # This program gives a list of links to the files in the current # directory # use strict; my(@dir_list,@file_info,@time_info,@month_list); my($directory,$file_name,$year,$month,$minute,$day,$hour,$file_size); $directory = $ENV{DOCUMENT_ROOT}.$ENV{REQUEST_URI}; opendir THISDIR, $directory or die "Content-type: html/text\n\nCan't open this directory."; @dir_list = readdir THISDIR; closedir THISDIR; print "Content-type: text/html\n\n"; print ""; print "\n"; foreach $file_name(@dir_list) { @file_info = stat $file_name; @time_info = localtime $file_info[9]; $year = $time_info[5] + 1900; $month = (qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)) [($time_info[4])]; if($time_info[1] < 10) { $minute = "0".$time_info[1]; } else { $minute = $time_info[1]; } if ($time_info[3] < 10) { $day = "0".$time_info[3]; } else { $day = $time_info[3]; } if ($time_info[2] < 10) { $hour = "0".$time_info[2]; } else { $hour = $time_info[2]; } if ($file_info[7] > 1023) { $file_size = int($file_info[7] / 1024); $file_size .= "k"; } else { $file_size = $file_info[7]; } print "\n"; } print "
Name
\n"; print "
Last Modified
\n"; print "
Size
\n"; print "
\n"; print "$file_name\n"; print "\n"; print "$day-$month-$year $hour:$minute\n"; print "\n"; print "$file_size\n"; print "
\n";