#!/usr/local/bin/perl -w use strict; sub do_dir { my ($dirname, $s) = @_; my (@a, $i); chdir $dirname or return; opendir DIRHANDLE, "." or die "$0: opendir failed: $!\n"; @a = grep { ! /^\./ && (-d $_ || /\.html/); } sort (readdir DIRHANDLE); closedir DIRHANDLE; for ($i = 0; $i <= $#a; $i++) { print $s, ($i == $#a) ? "`" : "|", "-- "; print "$a[$i]"; print " [symb. link]" if -l $a[$i]; print "\n"; do_dir($a[$i], $s.(($i==$#a)?" ":"|")." ") if -d $a[$i] && ! -l $a[$i]; } chdir ".." or die "$0: chdir failed: $!\n"; } print "Content-type: text/html\n\n"; do_dir (".", "");