#!/usr/bin/perl -w #use CGI::Wrap; print "Content-type: text/html\n\n"; my $file = $ENV{"PATH_TRANSLATED"}; if( defined $file ) { if( -d $file ) { chdir $file; &show_dir($file); exit; } print "\n"; open FILE, $file or print "<p>Gick inte!\n"; print <FILE>; } else { &show_dir($ENV{DOCUMENT_ROOT}); } sub show_dir { $user_root = "/home"; $user_html = "/public_html"; $user = ""; # Sätts om man är i userkatalog my( $dir ) = @_; print "<h1>Välj fil</h1>\n"; print "<p><a href=/kurs/cgi/show_file.cgi/>/</a>\n"; foreach $file ( glob("$dir/*") ) { my($part) = $file; # Ena eller andra substitueringen bör fungera if( $part =~ s/$user_root\/(\w+)$user_html(\/+)/\// ) { $user = "/\~$1"; } $part =~ s/$ENV{DOCUMENT_ROOT}(\/+)/\//; $part =~ s/\/+$//; print "<br><a href=/kurs/cgi/show_file.cgi$user$part>$part</a>\n"; } }