#!/usr/bin/perl $Root = $ENV{'DOCUMENT_ROOT'} . '/'; print "Content-Type: text/html\n\n"; &list_dirs; if ($ENV{'REQUEST_METHOD'} eq 'GET') { # Split the name-value pairs @pairs = split(/&/, $ENV{'QUERY_STRING'}); foreach $pair (@pairs) {($name,$value) = split(/=/,$pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; $FORM{$name} = $value;} } elsif ($ENV{'REQUEST_METHOD'} eq 'POST') { # Get the input read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); # Split the name-value pairs @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name,$value) = split(/=/,$pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; if ($name eq "multiple") { push (@multifiles, $value); } else { $FORM{$name} = $value;} } } $action = $FORM{'action'}; $file = $FORM{'file'}; $fname = $FORM{'name'}; $dir = $FORM{'dir'}; # Begin directory list. sub list_dirs { $ls = `ls -R $Root`; @pairs = split(/\n/,$ls); foreach (@pairs) { if (/$Root/) { $_ =~ s/$Root//; chop; push(@Dirs, $_); }} } &main_routine; &check_files; exit; sub main_routine { print < My Beamer

EOM } sub check_files { if ($action eq "go") { &single_beam; } else { print <
-My Beamer-

URL:
New Name:


-My Sites-
Cookied Test Bed
Joe's Audio Paradise
My Grad Table Art
Joe's Links Page
Joe's Readymade Sidebars
Rams Galore
The Sound Of Music Midis Page
The Tool Shack
Webtv's Best Music Sites
Webtv's Best Websites
Wtv-Zone Log In
EOM } } sub single_beam { if ($dir ne "") { if (-e $dir) { @response = `cd $dir; lwp-mirror $file $fname; ls $fname 2>&1`; print " Done!!
"; foreach $i (@response) { print " $i
"; } } else { @responce = `mkdir $dir; chmod 777 $dir; cd $dir; lwp-mirror $file $fname; ls $fname 2>&1`; print "
Done!!
"; foreach $i (@response) { print "Done! $i
"; } } } else { $Response = `lwp-mirror $file $fname; ls $fname 2>&1`; print $Response; print " Done!! "; if ($Response eq "") { print "
Done!"; } } }