PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : werte an skript übergeben



lummi
28-06-2000, 08:51
ich lerne gerade perl und habe folgendes Problem zu dem ich nirgendswo was gefunden habe:

Ich möchte aus einem Perl-Skript ein weiteres Perl-Skript starten und dem zweiten Skript Skalar-Werte aus dem Ersten übergeben mit dem es dann weiter arbeitet.

Weiss es jemand?

Xeon
28-06-2000, 11:11
Hallo.
Schau dir mal das CGI-Modul an, dass u.a. für das Handling von Parameterübergaben benutzt wird. (Buchempf. OReilly: CGI -Kurz&gut)

Dieses bindest du in deinem aufrufenden Skript ein, dem du die Werte über Formulare und die Values über Formularelemente übergibst (verwende auch hidden-Felder).

<form action=/cgi/skriptname.pl>
<input type=text name=name1 value=achso>
<input type=hidden name=name2 value=achsowieso>
<input type=hidden name=steuerung value=steuerwert1>
</form>

use CGI;
$q=new CGI
$wert1=$q->param('name1');
$wert2=$q->param('name2');
$steuerung=$q->param('steuerung');

Du kannst natürlich das gleiche Script mehrmals aufrufen und eigene Steuervariablen durchschleifen und dein Programm über ein Hash steuern, in dem dann die Steuervariable als Schlüssel und deine Sub als Wert referenziert steht.

%progablauf=('steuerwert1'=>\&prog1,'steuerwert2'=>\&prog2);
&{$progablauf{$steuerung}};

sub prog1
{...}
sub prog2
{...}

Sehr empfehlenswert sind die Perl-Artikel im Linux-Magazin von Michael Schilli. (www.linux-magazin.de) Ab Ausgabe 3/98 beginnt ein 4-teiliger CGI-Workshop.

Gruss Andreas

Xeon
28-06-2000, 11:26
Hiho,
kleiner Nachtrag des Formulares, dass im Posting umgesetzt wurde (sorry >:-!= )
< !--
<form action=/cgi-bin/skript.pl>
<input type=text name=name1>
<input type=hidden name=name2 value=achso>
<input type=hidden name=steuerung value=steuerwert1>
</form>
-->

Tschau Andreas

Xeon
28-06-2000, 11:28
Schau in den Quelltext, bekomme ich nicht hin.

lummi
28-06-2000, 14:17
von CGI habe ich nichts gesagt. Ich möchte eigentlich nur ein Perl-Script ausführen das zum Beispiel $1 = wert1, $2 = wert2 enthält. Dies soll nun ein anderes Script ausführen und automatisch dem neuen Script die Werte weiterreichen und sich beenden. Das andere Script soll dann mit diesen Werten weiterarbeiten.

Kann doch eigentlich nicht schwer sein, oder doch?