Ein Script soll ein anderes aufrufen

Hallo,

wie kann ich es anstellen, dass ein CGI-Script ein andres aufruft? Es soll so ablaufen, dass in einer bestimmten Sub-Routine des ersten Scripts der Aufruf für das zweite Script drin steht. Die beiden Scripte bfinden sich im selben Ordner. Danke.

cu
Pfanni

Hi Pfanni,

wie kann ich es anstellen, dass ein CGI-Script ein andres
aufruft? Es soll so ablaufen, dass in einer bestimmten
Sub-Routine des ersten Scripts der Aufruf für das zweite
Script drin steht. Die beiden Scripte bfinden sich im selben
Ordner. Danke.

da gibts mehrere Möglichkeiten (Perl-bezogen):
„exec“ - das aufrufende Proggy wird beendet
„system“ - kehrt zum aufrufenden Proggy zurück

weiterhin möglich:
„open“ / „fork“ / „pipe“ - meist in Kombination.

Ein gutes PERL-Buch ist als „CGI-Hilfe“ immer ein guter Rat…

CU (M)ike

require …
Hi Pfanni,

wenn ich Dich richtig verstehe, willst Du das zweite Script quasi als Unterprogramm einbinden.
In dem Fall brauchen wir system oder exec gar nicht,
require tut’s auch.
Besonders gut, um sich eine Bibliothek von Unterprogrammen anzulegen, die für verschiedene Scripte gleich bleiben.
Das selbe Prinzip liegt auch den Perl-Modulen zugrunde, die technisch nicht sehr viel anders funktionieren.

Mit require füge ich praktisch das zweite Skript ins erste ein und übernehme dessen Unterprogramme und Variablen.
Das require’te Programm braucht keinen Script Header und es sollte nicht mit exit enden sondern mit
1;
(diese 1 bekommt der require-Befehl als Rückgabewert)

Hast Du z.B. haupt.pl und unter.pl
dann schreibst Du ins haupt:
require (‚unter.pl‘);

Schönen Gruss, Ingo