Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]517[/thread]

ein script benutzt ein anderes > wie?: script ruft anderes auf+ übergibt STDIN



<< >> 2 Einträge, 1 Seite
Gast Gast
 2005-06-26 01:19
#5135 #5135
Ich möchte mein Projekt ordentlicher gestalten. Deshalb würde ich gerne verschiedene Scriptdateien für verschiedene Aufgaben benutzen. Ich habe beispielsweise ein Gästebuch, dass die Daten auf den STDOUT schreibt (mit print). Nun kann man sie zwar mit <qx> oder <open> auslesen, aber das Hinzufügen neuer Einträge funktioniert nicht, denn über das Gästebuch-Script habe ich keinen Zugriff auf STDIN, dass mit Read(STDIN, $buffer, ENV{'CONTENT_LENGTH'}) nur vom AUFRUFENDEN Script ausgelesen werden kann.

Ich stelle mir nun einen Code vor der folgendermaßen aussehen müsste aber -natürlich nicht- funktioniert:

my $buffer;
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});


Die folgende Zeile müsste (um ihren Zweck zu erfüllen)
1. eine Pipe zum Programm herstellen um den STDIN reinzuschreiben 2. eine Pipe vom Programm herstellen um die Daten aufzufangen die das Gästebuch zurückgibt. ...und deshalb nach der open-syntax so aussehen, was irgendwie falsch wirkt und
auch gleichermaßen schlecht funktioniert:

Open(FILE, "|guestbook.pl|") || die "$!";
Print FILE $buffer; #STDIN ans Gästebuch übergeben.
Print <FILE>; #Gästebuch mit zuvor definiertem STDIN anzeigen.
Close(FILE);


Gibt es vielleicht eine andere Möglichkeit das Problem zu lösen oder ist es schlichtweg unmöglich?
pq
 2005-06-26 02:32
#5136 #5136
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
CPAN:IPC::Open3
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< >> 2 Einträge, 1 Seite



View all threads created 2005-06-26 01:19.