home *** CD-ROM | disk | FTP | other *** search
/ AMIGA PD 1 / AMIGA-PD-1.iso / Meeting_Pearls_II / html / sw / nbsd / FuzzyPendel / demo.pl < prev    next >
Perl Script  |  1994-07-05  |  2KB  |  97 lines

  1. #!/usr/local/bin/perl -- # -*- perl -*-
  2.  
  3. $DEMOTIME = 15; # Minuten
  4.  
  5.  
  6. #
  7. # Parse QUERY_STRING:
  8. #
  9. $q=$ENV{'QUERY_STRING'};
  10. foreach $i ( split(/&/,$q) ){
  11.     ($var,$val)    = ($i=~/^([^=]+)=(.*)$/);
  12.  
  13.     #
  14.     # Remove %-escapes.
  15.     #
  16.     {
  17.     local($pre,$post,$r,$erg,$esc);
  18.     
  19.     $val=~s/\+/ /g;
  20.  
  21.     $r=$val;
  22.     $erg="";
  23.  
  24.     while(($pre,$esc,$post)=($r=~/([^%]*)%(..)(.*)/)){
  25.         $erg.=$pre;
  26.         $esc=~tr/A-Z/a-z/;
  27.         $erg .= sprintf("%c",hex($esc));
  28.         $r=$post;
  29.     }
  30.     $erg.=$r;
  31.  
  32.     $val=$erg;
  33.     }
  34.     
  35.     if   ($var eq "display"){
  36.     $display  = $val;
  37.     }else{
  38.     &Error_Head;
  39.     print "Unknown variable \"$var\" (value: \"$val\")\n";
  40.     &Error_Tail;
  41.  
  42.     exit (1);
  43.     }
  44. }
  45.  
  46. if(fork()){
  47. chop($id=`id`);
  48. print <<EOTXT;
  49. Content-type: text/html
  50.  
  51.  
  52. <H1>"FuzzyPendel"-Demo wird ausgeführt!</H1>
  53. <!----------------------------------------->
  54.  
  55. Das Programm "xpendel" steht nun für $DEMOTIME Minoten zu Ihrer
  56. uneingeschränkten Verfügung. Nach dieser Zeit wird das Programm
  57. automatisch beendet.
  58. <P>
  59.     
  60. Falls während der Demonstration irgendwelche Probleme auftreten,
  61. so berichten Sie diese bitte an die unten stehende EMail-Adresse.
  62. <P>
  63.  
  64. Ansonsten wünsche ich viel Spass!!!
  65.  
  66. id = ($id)
  67. <P>
  68.     
  69. <HR><!----------------------------------------------------------------->
  70.  
  71. <A HREF="index.html">Hier</A> geht's zur Einführung zum Fuzzy-Pendel zurück.
  72.  
  73. <HR><!----------------------------------------------------------------->
  74.  
  75. Hubert Feyrer, <A HREF="http://dusk.rz.uni-regensburg.de/Personal/hubert/hubert_feyrer.html">hubert.feyrer@rz.uni-regensburg.de</A>
  76. </BODY>
  77. EOTXT
  78. }else{
  79.     # print "starting xpendel\n";
  80.     if(($pid=fork())==0){
  81.     # print "Launching xpendel as pid $$\n";
  82.     exec("rsh",
  83.          "rfhs1012",
  84.          "-l",
  85.          "feyrer",
  86.          "setenv DISPLAY $display ; work/FuzzyPendel/xpendel");
  87.     }else{
  88.     # print "xpendel launched\n";
  89.     sleep($DEMOTIME);
  90.     system("kill -15 $pid"); # das perl-interne kill geht hier NICHT!
  91.     
  92.     }
  93. }
  94.  
  95.  
  96. exit(0);
  97.