Hi knisterq,
Du weist aber schon, wie man von der Kommandozeile bzw. den gesetzten Umgebungsvariablen Parameter einlesen kann?
Hier noch mal einfach:
Aufruf aus einer Htmldatei (href="" oder src=""), oder der Adresszeile:http://domain/cgi-bin/deinskriptname.cgi?src=frame_set (bzw. die gewünschte Subroutine)
------Skript---------
#!/pfad/zu/perl -w
use CGI (:standard);ich hoffe der Gebrauch der CGI.pm ist korrekt, da ungetestet
»»
&frame_set if param('src') eq "frame_set";
.
. hier das selbe für die anderen Subroutinen
.sub frame_set {}
.
. hier die weiteren Subroutinen
.Versuch das mal auf Dein Skript umzusetzen. Falls das nicht klappt, wirst Du um das Abarbeiten von perldoc nicht drumherum kommen ;-)
Gruß AlexBausW
P.S.: Bitte kein fullquotes, denn ich glaub ich kann mich auch so noch an mein Geschreibsel erinnern ;-) und zur Not (bin ja auch nicht mehr der Jüngste) schlag ich`s halt noch mal nach *g*
Ist schon alles klar - Danke nochmal euch beiden!
Mit "src" oder was auch immer funktionierts(meiner Meinung nach)innerhalb des frameset nicht. Man muß beide Umgebungsvariablen(wer es nicht weiß:$path_info und $script_name) verwenden.
P.S.:Mit dieser Form "http://domain/cgi-bin/deinskriptname.cgi?src=frame_set" hab ich's schon versucht, aber das führt mir trotzdem nicht mein Unterprogramm aus?!?!?!?!?
Und so hab ich's gelöst:
use CGI;
$abi = new CGI;
$path_info = $abi->path_info;
if (!$path_info) {
&print_frameset;
exit 0;
}
&head_line if $path_info=~/head_line/;
&nav_leiste if $path_info=~/nav_leiste/;
&main-frame if $path_info=~/main_frame/;
&mes_board if $path_info=~/mes_board/;
sub print_frameset {
$script_name = $abi->script_name;
print <<FRAME;
<html>
<head>
</head>
<frameset rows="15,85" frameborder="yes">
<frame src="$script_name/head_line" scrolling="no">
<frameset cols="15,85" frameboarder="yes">
<frame src="$script_name/nav_leiste" scrolling="no">
<frame src="$script_name/main_frame" name="main">
</frameset>
</frameset>
</html>
FRAME
;
exit;
}
Wenn jemand einen anderen Weg kennt, würde er mich brennend interessieren!
knisterq