Penguin:: Perlcode über Netz versenden

Morgen!

Habe ein kleines Problem und komme einfach nicht weiter. Ich hoffe auf eure Hilfe!
Über das Penguin Modul von Felix Gallo (http://www.heise.de/ix/artikel/1998/02/140/) ist es möglich einen PerlCode an einen anderen Rechner zu schicken, dort über eine PGP-Unterschrift diesen auszuführen und die Ergebnissse an den Sender wieder zurückzuschicken. (Client Server siehe unten)
Funktioniert auch alles soweit ganz gut, aber NUR wenn ich es in dir bash ausführe (Server erhält Code, und der Client bekommt die Ergebnisse). Will ich aber nun das ganze in einem Browser ausführen, stellt der Client zwar eine Verbindung zum Server her, übermittelt aber nicht den Code.

Apache error.log

useless frame: empty code. at /usr/local/share/perl/5.8.0/Penguin/Frame/Data.pm line 25.

Wo liegt bei mir der Denkfehler, habt ihr vielleicht schon mal damit gearbeitet, kennt ihr eine andere Möglichkeit Code an einen Rechner über ein Webinterface zu schicken? Grund des ganzen ist es von einem WindowsPC über einen Webserver die Telefonbücher auszulesen und zu ändern

 +--------+ +-----------+ +------+
 | WIN PC | | WEBSERVER | |LINUX |
 +--------+ +-----------+ +------+
Telefonb. auslesen --------\> anzeigen/bearbeiten

**Server =====================================**

    
    #!/usr/bin/perl
    
    use Penguin::Trivial::Server;
    
    $port = 8118;
    
    my $penguinserver = new Penguin::Trivial::Server
     Port =\> $port,
     Share =\> ['server\_function'];
    
    print ("Penguin Server Up [$port]\n");
    
    $penguinserver-\>serve();
    
    sub server\_function {
     print (scalar localtime()," CGI running .... Erlaubt!\n");
     my $string = (scalar localtime()." CGI running .... Erlaubt!\n");
     return $string;
    }




**Client =====================================**

    
    #!/usr/bin/perl
    use CGI qw/:standard :html3/;
    use LWP::UserAgent;
    use Penguin::Trivial::Client;
    
    $|=1;
    
    print header();
    print (start\_html('-head'=\>[Link({-rel=\>'shortcut icon',
     -href=\>"http://$ENV{SERVER\_ADDR}/favicon.ico"}),
     Link({-rel=\>'stylesheet',-type=\>'text/css',
     -href=\>"http://$ENV{SERVER\_ADDR}/style.css"})],
     '-title'=\>'Anwendung'),
     start\_form('-method'=\>'POST','-action'=\>$ENV{SCRIPT\_NAME}),
     table({'border'=\>'0','class'=\>'headerbig'},
     TR(
     td({'width'=\>'95%','align'=\>'center'},
     h1("Penguin - wiso funktionierst DU NICHT")))
     ),
     table(TR{'bgcolor'=\>'f0f0f0'},(td({'width'=\>'25%'},"PGP Userid"), # PGP User ID
     td(textfield('-name'=\>"pgpuserid",
     '-size'=\>"60"))),
     TR{'bgcolor'=\>'f0f0f0'},(td({'width'=\>'25%'},"email"), # email
     td(textfield('-name'=\>"email",
     '-size'=\>"60"))),
     TR{'bgcolor'=\>'f0f0f0'},(td({'width'=\>'25%'},"PGP Password"), # password
     td(password\_field('-name'=\>"password",
     '-size'=\>"60")))),
     submit('-name'=\>"submit",'-value'=\>"exec"),"
    
    ",
     );
    print end\_html();
    
    if (defined param("submit")) {
     $codestring = ('#!/usr/bin/perl'.
     "\n".
     'server\_function();');
    
     $name = param("pgpuserid")."";
     $host = "localhost";
     $port = "8118";
     $password = param("password");
    
     $penguinclient = new Penguin::Trivial::Client
     Code =\> $codestring,
     Host =\> $host,
     Port =\> $port,
     Password =\> $password,
     Name =\> $name;
    
     $getit = $penguinclient-\>run();
     print ("\n\nPenguin antwortet: ",$getit,"\n");
    }