Thread use verzögert ausführen: geht das? (18 answers)
Opened by Crian at 2004-07-21 17:18

ptk
 2004-07-22 14:37
#84713 #84713
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=Crian,22.07.2004, 10:17][quote=ptk,22.07.2004, 10:02]
Oder hast du eher wegen des "import" gefragt?[/quote]

Ja, ich fragte mich, ob import so etwas wie use und require und mir bisher nur entgangen ist.
[/quote]
import() ist mehr eine Konvention als ein Sprachmittel. Vereinfacht gesagt wird ein "use Modul" als "require Modul" und "import Modul" ausgefuehrt. In der import-Methode werden normalerweise Symbole aus dem Modul in den Namensraum des aufrufenden Programms/Moduls importiert, so dass man sich das Schreiben des Modul-Prefixes sparen kann. Ueblicherweise schreibt man import nicht selbst, sondern laesst das "Exporter" erledigen.
Quote
Ja, hab ich inzwischen auch festgestellt. Man muss es sich wohl so vorstellen, dass die BEGIN-Blöcke in der Reihenfolge ihres Auftretens ausgeführt werden und ein use Modul; die BEGIN-Blöcke des Moduls an der Stelle des use zwischen die ev. vorhandenen anderen BEGIN-Blöcke einfügt (jedenfalls in der Abarbeitungsreighenfolge).

Nicht ganz: jeglicher Code im ge'use'ten Modul wird ausgefuehrt. D.h. wenn ein print ausserhalb von subs steht, wird es schon waehrend "use Modul" ausgegeben.

View full thread use verzögert ausführen: geht das?