hallo,
Wie ist es möglich, Funktionen/Subroutinen innerhalb von HERE-Dokumenten in Perl aufzurufen?
Naja, eigentlich gar nicht.
Es ist mir bekannt, dass in diesem Beispiel Variablen, Arrays, etc. interpoliert, also eingefügt werden (siehe $ENV{REMOTE_ADDR}). Ich habe jedoch schon versucht, auf diese Art und Weise Funktionen aufzurufen und im HERE-Dokument ausgeben zu lassen. Dies funktioniert jedoch nicht.
Doch, aber mit unnötigen Verrenkungen. Du kannst die Ausgabe deiner Subroutine in eine Variable packen und dann den Inhalt der Variablen im HERE-Dokument ausgeben lassen.
Ich muss dann immer vor dem HERE-Dokument das Ergebnis der Funktion in einer Variablen zwischenspeichern oder das HERE-Dokument unterbrechen, die Funktion mit 'print' ausgeben und dann das HERE-Dokument fortführen.
Da hast du doch schon die einzige mögliche Vorgehensweise selber gefunden. Die Möglichkeit, HERE-Dokumente zu notieren, wurde ja speziell dazu erfunden, daß man eben _keine_ zwischenzeitlichen Programmaufrufe starten will.
Grüße aus Berlin
Christoph S.