Re: @Perl-Experten: Frage zu Subs - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 11.Oktober.2001, 13:17.
    Re: @Perl-Experten: Frage zu Subs

      a) die sub sieht die globalen vars... du kannst dir das include wirklich genauso vorstellen, als ob der code der includet wird tatsächlich an der stelle des "include" steht...

      b) "my" = nicht in einem aufgerufenen sub sichtbar
      "local" = auch in aufgerufenen subs sichtbar
      beide gelten aber nur innerhalb ihres "blocks", zwischen { ... }

      beispiel:

      <perl>
      

      {
      $global=3; my $my=5; local $lokal=7;
      

      out "(block) global=$global - my=$my - lokal=$lokal<br>";
      }
      

      out "(haupt) global=$global - my=$my - lokal=$lokal<br>";

      sub test
      {
        out "(sub) global=$global - my=$my - lokal=$lokal<br>";
      }
      </perl>
      

      müsste ausgeben:
      (block) global=3 my=5 lokal=7
      (haupt) global=3 my= lokal=
      (sub) global=3 my= lokal=7

      c) Soweit ich weiss werden &... nicht in einem <<EOF..EOF interpretiert. Es gibt da einen etwas merkwürdigen Workaround, der geht, glaub ich, so: ${&trennzeile(...)} weiss ihn aber grad nich auswendig, kannstes ja mal ausprobieren und wenns nich geht schau ich mal nach...


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Ruben (403 Beiträge) am Donnerstag, 11.Oktober.2001, 09:31.
    @Perl-Experten: Frage zu Subs

      Hallo,
      offensichtlich ist es dem Perl egal, wo eine Sub im Script steht, ob am Anfang oder am Ende.

      Nun aber die Fragen zu Übergabeparametern:
      a) Ich "include" einige Templates am Anfang des Scriptes.(im incl. Template <perl>Befehle...</perl>)
      Dann folgt das "eigentliche" Script mit der entspr. Belegung von Vars. Wenn ich nun in diesem eine Sub, die am Anfang des Scr. steht aufrufe, muß ich da die entsprechenden Vars explizit als Parameter mit übergeben oder "weiß" die Sub dann die "globalen" Vars (Vars wurden weder mit "local" noch mit "my" initialisiert)?
      b) Was ist mit dem Gültigkeitsbereich von mit "my" bzw. "local" im Hauptteil initialisierten Vars in Bezug auf Kenntnis für die im obenstehenden Subs?

      c) Kann man Var-Inhalte, die in einer Sub generiert werden in einem "out<<EOF"-Bereich ohne diesen unterbrechen zu müssen durch Aufruf der Sub mit ausgeben?
      also bspw.:
      out<<EOF;
      <table><tr><td>Hier steht was</td></tr>
      &trennzeile(para1,para2,para3)
      <tr><td>und hier dann wieder was</td></tr>
      </table>
      EOF
      wobei in der Sub "trennzeile" der Code für eine Tabellenzeile mit den überg. Parametern (die wiederum globale Vars bzw. Inhalte von db-Feldern sind)in eine Variable übergeben (oder mit "out" ausgegeben) wird.
      

      Danke für Tips
      Ruben

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 11.Oktober.2001, 13:17.
    Re: @Perl-Experten: Frage zu Subs

      a) die sub sieht die globalen vars... du kannst dir das include wirklich genauso vorstellen, als ob der code der includet wird tatsächlich an der stelle des "include" steht...

      b) "my" = nicht in einem aufgerufenen sub sichtbar
      "local" = auch in aufgerufenen subs sichtbar
      beide gelten aber nur innerhalb ihres "blocks", zwischen { ... }

      beispiel:

      <perl>
      

      {
      $global=3; my $my=5; local $lokal=7;
      

      out "(block) global=$global - my=$my - lokal=$lokal<br>";
      }
      

      out "(haupt) global=$global - my=$my - lokal=$lokal<br>";

      sub test
      {
        out "(sub) global=$global - my=$my - lokal=$lokal<br>";
      }
      </perl>
      

      müsste ausgeben:
      (block) global=3 my=5 lokal=7
      (haupt) global=3 my= lokal=
      (sub) global=3 my= lokal=7

      c) Soweit ich weiss werden &... nicht in einem <<EOF..EOF interpretiert. Es gibt da einen etwas merkwürdigen Workaround, der geht, glaub ich, so: ${&trennzeile(...)} weiss ihn aber grad nich auswendig, kannstes ja mal ausprobieren und wenns nich geht schau ich mal nach...

     Antworten

    Beitrag von Ruben (403 Beiträge) am Freitag, 12.Oktober.2001, 10:30.
    Re: @Perl-Experten: Frage zu Subs

      Hallo,
      mit dem Aufruf der Sub im EOF-Block klappt leider nicht wie gewünscht.
      Der bringt zwar die Ausgabe, aber nicht dort, wo sie aufgerufen wird, sondern am Anfang der Ausgabe (wahrscheinlich weil die Sub im Script"kopf" steht)
      Naja, nicht ganz so schlimm, vielleicht findet ja mal jemand ne Lösung
      (hier die von Christoph vorgeschlagene Syntax:
      c) Soweit ich weiss werden &... nicht in einem <<EOF..EOF interpretiert. Es gibt da einen etwas merkwürdigen Workaround, der geht, glaub ich, so: ${&trennzeile(...)} weiss ihn aber grad nich auswendig, kannstes ja mal ausprobieren und wenns nich geht schau ich mal nach...

      CU
      Ruben

     Antworten


     
 Liste der Einträge von 55950 bis 56100:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.06s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!