Roxen.git / server / perl / bin / perlhelper

version» Context lines:

Roxen.git/server/perl/bin/perlhelper:1:   #! /usr/local/bin/perl      # Perl helper script for Roxen Webserver. By Leif Stensson.   # - # $Id: perlhelper,v 1.2 2001/02/01 13:12:37 leif Exp $ + # $Id: perlhelper,v 1.3 2001/02/04 22:53:48 leif Exp $      package Roxen::Internal;      use strict;   use vars '%Cache';      sub packagename   { my($string) = @_;       $string =~ s/([^A-Za-z0-9\/])/sprintf("_%2x",unpack("C",$1))/eg;
Roxen.git/server/perl/bin/perlhelper:404:    }    elsif ($cmd eq "S" or $cmd eq "C")    { $Roxen::Request::req_outbuf = "";    $Roxen::Request::req_returncode = 200;    $data = Getdata(3);    alarm 180; # 3 minutes.    $Roxen::Request::req_state = 5423522; # Magic number.    if ($cmd eq "C")    { my ($cmdin, $cmdout, $cmd);    eval $data; +  if ($@) +  { Senderror("PERL EVAL ERROR: $@"); +  die "Perl: $@";    } -  +  }    else    { diag "{S:$data}\n";    Roxen::Internal::runscript($data);    }    $Roxen::Request::req_state = 0;    alarm 60; # One minute.    if ($Roxen::Request::req_returncode != 200)    { Sendreply(sprintf "RETURNCODE=%d", $Roxen::Request::req_returncode);}    Senddata($Roxen::Request::req_outbuf);       last if $starttime+300 < time; # Timeout after 5 minutes.       $Roxen::Request::req_req = Roxen::Request->new();    }    elsif ($cmd eq "Q")    { $cmdin->sysread($cmd, 1) == 1 or die "perlhelper $$/MLQ: exiting.\n";    diag "{Q$cmd}";    if ($cmd eq "P")    { Sendreply(""); }    elsif ($cmd eq "V") -  { Sendreply('Roxen Perl Helper: $Id: perlhelper,v 1.2 2001/02/01 13:12:37 leif Exp $'); } +  { Sendreply('Roxen Perl Helper: $Id: perlhelper,v 1.3 2001/02/04 22:53:48 leif Exp $'); }    else    { die "perlhelper $$/MLQQ: exiting.\n"; }    }    }   # die "$$ perlhelper: exiting normally.\n";    CORE::exit(0);   }