Thread Perl Prozess starten und Code über STDIN "reinschi (13 answers)
Opened by mseele at 2005-02-02 12:03

Dubu
 2005-02-02 16:03
#51495 #51495
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
In dieser Form wird das nicht gehen. Perl muesste ja den Code kompilieren, dann ausfuehren, und dann wieder mit der Kompilation starten. Vielleicht ginge es ueber die B- oder DB-Klassen, aber damit habe ich mich noch nicht beschaeftigt.

Was jedoch gehen sollte, ist eine Schleife in einem Perl-Programm anzulegen, die von STDIN bis zu einem Keyword liest (_ _END_ _ wuerde sich anbieten; ohne die Leerzeichen, unser Forum mag keine doppelten Unterstriche) und dann den erhaltenen Code durch ein String-eval jagt, also so aehnlich:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/perl
use strict;
use warnings;

my $code='';
while (<>) {
   if (/^_ _END_ _$/) {
       if (defined eval $code) {
           print "ok\n";
       } else {
           print "FEHLER!\n";
       }
       $code = '';
   } else {
       $code .= $_;
   }
}

(ungetestet)

View full thread Perl Prozess starten und Code über STDIN "reinschi