perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 23
Click for quality!




11.02.2012 / 16:31

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


Beitragauführen von exec aus subroutine heraus
Seitenanfang
Liebe Gemeinde,

innerhalb einer subroutine (die in einem Modul eingebunden ist) soll über exec ein anders Programm augerufen werden, hier speziell zum Zweck der Weiterleitung.


# Hauptprogramm.pl
Ausgabe Header HTML usw...

use betreffende_sub;
...

if Bedingungen {
betreffene_sub();
} #if

Ausgaben HTML wie Tabellen end-Tags body-End Tag usw.

-------------------
Modul sub.pm
sub betreffene_sub {

# hier folgen verschiedene Funktionen mit Datenbankabfragen, Ausgaben etc.

exec("meinedomain/cgi-bin/meinProgramm.pl?parameter1=bla&Parameter2=blabla");

} #sub


läuft aber so nicht, liegt es eventuell daran, das es innerhalb einer Subroutine nicht möglich ist?
Erschwerend kommt noch hinzu, das das Ende der HTML-Ausgabe im Hauptprogramm erfolgt. d.h. wenn das Programm an dieser Stelle beendet würde?

Weiss Jemand Alternativen?
(Weiterleitung über HTML Header fällt raus.)

Datum: 19.08.2006-20:34

Beitragre: auführen von exec aus subroutine heraus
Seitenanfang
Sorry, war gerade unmögliches Deutsch

Erschwerend kommt noch hinzu, das das Ende der HTML-Ausgabe im Hauptprogramm erfolgt. d.h. wenn das Programm an dieser Stelle beendet würde?

sollte heissen

Erschwerend kommt noch hinzu, das das Ende der HTML-Ausgabe im Hauptprogramm erfolgt. d.h. wenn das Programm an dieser Stelle beendet werden würde, könnte die HTML-Ausgabe nicht komplett werden

Datum: 19.08.2006-20:40

Beitragre: auführen von exec aus subroutine heraus
Seitenanfang
also das hier:
exec("meinedomain/cgi-bin/meinProgramm.pl?parameter1=bla&Parameter2=blabla");

geht so gar nicht. damit führst du ein programm auf
der festplatte aus, das "meinedomain/cgi-bin/meinProgramm.pl?parameter1=bla&Parameter2=blabla" heißt. ich bin ziemlich sicher, dass so ein programm nicht
existiert.
das ist das ist eine url mit url-parametern.
das einfachste wäre wohl, du würdest stattdessen
exec("/pfad/zum/programm.pl" ,"parameter1=bla", "Parameter2=blabla");

machen. dann erledigt CGI.pm das nämlich für dich und
tut so, als sei es mit diesen parametern vom webserver
aufgerufen worden.
ansonsten kann ich nur empfehlen, das skript, wenn es
denn auf demselben server liegt, per do, require oder
use einzubinden und ein package draus zu machen.
ist sauberer.

liegt das skript auf einem anderen server, brauchst
du stattdessen einen http-request. das geht ganz einfach
mit LWP::Simple.

Datum: 21.08.2006-11:07

-






-
-