Schrift
[thread]497[/thread]

Andere servers. Skriptsprachen in Perl ausführen: Quasi als Wrapper (Seite 2)

Leser: 1


<< |< 1 2 >| >> 14 Einträge, 2 Seiten
cbxk1xg
 2005-06-01 01:23
#4986 #4986
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
@ renee: Ich habe gerade ein einfaches "Hello World" vom "Plugin" ins Hauptprogramm ge-piped. Das geht also schon mal.

Quote
Wenn Du dem Skript etwas "schicken" willst, dann kommt das Pipe-Zeichen vor den Dateinamen und wenn Du die Ausgabe des Programms haben willst, dann danach...

Was mach ich jetzt aber, wenn ich beides will? Schreibe ich dann zwei Pipe-Zeichen? Und wenn ja wohin? Vorne und hinten geht jedenfalls nicht. Das gibt einen unschönen Absturz (500er).

Bisher habe ich zwei Skripte. Allerdings habe ich es bisher nur mit einem Perlskript hinbekommen. PHP zickt noch rum.
Code: (dl )
1
2
3
4
5
6
7
my $PHPplugin = "/my/path/test.pl";
my $PHPreturn = "";

open PHPBRIDGE,  "$PHPplugin |" or return "Can't fork: $!<br>$PHPplugin";
foreach $line (<PHPBRIDGE>) { $PHPreturn .= $line; }
close( PHPBRIDGE );
return $PHPreturn;


Das kleine Plugin
Code: (dl )
1
2
3
4
#!/usr/bin/perl
my $test = "bla " x2;
print "Hello world!\n";
print "Das ist alles nur $test.\n";
ptk
 2005-06-01 01:29
#4987 #4987
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
use IPC::Run oder use IPC::Open2
cbxk1xg
 2005-06-01 03:35
#4988 #4988
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
OK. Wenn bidirektional also nicht so ohne weiteres geht, dann würde ich gerne wissen ob man beim Aufruf eines Perl- oder PHP-Skriptes wenigstens Parameter übergeben kann. Also irgendwas, daß das Skript versteht. Etwas im Sinne von:
Code: (dl )
1
2
3
4
my $PHPplugin = "/my/path/test.pl?key1=$value1&key2=$value2";

open PHPBRIDGE, "| $PHPplugin" or return "Can't fork: $!
close PHPBRIDGE;


Das der Querystring nicht funktioniert ist mir klar. Ich weiß nur leider nicht, wie man es richtig macht. Oder besser gesagt, wie man anstelle des Querystrings ein paar Werte an das Skript sendet. Das ich keinerlei Werte von dem Skript zurück bekomme, zu dem ich etwas pipe, habe ich nun verstanden. Aber ich überlege dem Script als variable eine Session mitzugeben.

BTW: Wenn das irgendwie geht müßte ich noch wissen wie man die Daten im anderen Skript ausliest. Kommen die dann über STDIN rein?
renee
 2005-06-01 11:32
#4989 #4989
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
my $PHPplugin = "/my/path/test.pl key1=$value1 key2=$value2";
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 2 >| >> 14 Einträge, 2 Seiten



View all threads created 2005-05-31 14:52.