Michael R.: "dynamisches" schreiben ?!

Hi,

ich möchte mit einem perl Script eine HTML mit einem Frameset wie folgt erstellen:

...

sub write_frames
{
print qq|

<frameset ....>
   <frame name="top" src="about:blank" ...>
   <frame name="top" src="about:blank" ...>
</frameset>

|;
exit;
}

soweit kein Problem; mit einer anderen Funktion wie diese

sub write_top
{
print qq|
<html>
<head>
...
<body>
das ist der top frame ...
</body>
</html>
|
exit;
}

soll der Inhalt des Top-Frames erzeugt werden.

Meine Frage: wie kann ich in Perl ausdrücken, dass die zweite Funktion ihren Inhalt in das Frameset oben schreiben soll ?
Hab schon einiges probiert aber ich werde boykottiert.

Danke für jede Anregung und Hilfe !

Michael

  1. Sorry, der zweite Frame bekommt natürlich den Namen Body

    sub write_frames
    {
    print qq|

    <frameset ....>
       <frame name="top" src="about:blank" ...>
       <frame name="body" src="about:blank" ...>
    </frameset>

    |;
    exit;
    }

  2. use Mosche;

    Meine Frage: wie kann ich in Perl ausdrücken, dass die zweite Funktion ihren Inhalt in das Frameset oben schreiben soll ?
    Hab schon einiges probiert aber ich werde boykottiert.

    Du musst als src für das obere Frame dein Perscript eingeben, ggf. mit einem Parameter, wie frame=top. Dein Perlscript muss dann diesen Parameter auslesen, die entscheidung treffen, welches Frame geschrieben werden soll, und dann entsprechendes schreiben. Anders geht es nicht, da Frames lokal interpretiert werden und die Seiten aus dem Frame vom Browser aus geholt werden, und zwar zu einem Zeitpunkt, wo dein Perlscript schon lange zu Ende ist.

    Verzichte lieber auf Frames, das ist einfacher.

    use Tschoe qw(Matti);

    1. Hi,

      danke für die Antwort.

      Du musst als src für das obere Frame dein Perscript eingeben, ggf. mit einem Parameter, wie frame=top. Dein Perlscript muss dann diesen Parameter auslesen, die entscheidung treffen, welches Frame geschrieben werden soll, und dann entsprechendes schreiben. Anders geht es nicht, da Frames lokal interpretiert werden und die Seiten aus dem Frame vom Browser aus geholt werden, und zwar zu einem Zeitpunkt, wo dein Perlscript schon lange zu Ende ist.

      dann sollte ich so etwas angeben : (?)

      ... src="meine_perl.pl?frame=top" ....

      ???

      und dann das irgendwie zu Beginn der Perldatei auslesen und feststellen ob frame=top oder frame=body ...?
      und dann entsprechende sub-Anweisung ausführen ??
      (wie geht's am einfachsten ?)

      Hab' ich das so richtig geblickt ??

      Verzichte lieber auf Frames, das ist einfacher.

      Würde ich gerne - aber das ist schwierig :)

      use Tschoe qw(Matti);

      1. Bongú!

        dann sollte ich so etwas angeben : (?)
        ... src="meine_perl.pl?frame=top" ....
        ???

        und dann das irgendwie zu Beginn der Perldatei auslesen und feststellen ob frame=top oder frame=body ...?
        und dann entsprechende sub-Anweisung ausführen ??
        (wie geht's am einfachsten ?)

        Hab' ich das so richtig geblickt ??

        Voll und ganz! :-)

        Alternativ kannst du natürlich auch drei einzelne Scripte machen (index.pl, top.pl und body.pl). Es muss nicht unbedingt ein einzelnes sein.

        Verzichte lieber auf Frames, das ist einfacher.
        Würde ich gerne - aber das ist schwierig :)

        Kommt schwer auf dein Design an. In vielerlei Hinsicht sind framelose Seiten einfacher, nicht nur wenn es um Perl geht, sondern vor allem auch, was JavaScript anbelangt.

        Sahha,

        kerki