Thread Warum immer noch true am Ende bei Perl-Modulen nötig? (31 answers)
Opened by GwenDragon at 2014-09-06 11:32

GwenDragon
 2014-09-06 12:21
#177115 #177115
User since
2005-01-17
14510 Artikel
Admin1
[Homepage]
user image
2014-09-06T10:09:39 rosti
Damit der Compiler feststellen kann, ob die darüber notierte Codesource fehlerfrei kompiliert werden konnte.
Der Compiler kann das auch ohne ein True am Ende, sonst ging es doch beim Main auch nicht.
//EDIT: Zudem der Compiler einen Fehler werfen sollte, wenn er nicht kompilieren kann; ohne fehler wird dann weiter kompiliert mit anderen Programmteilen.

Das True bei Modulen ganz erinnert mich daran, dass Perl zu viel uralten Schrott der Dinosaurier der Programmierung geerbt hat.
Wieso reicht stattdessen das EOF der zu ladenden Datei nicht, um zu erkennen das ein Modul geladen wurde?
Das ist wie wenn man am Ende immer rein return bei anderen Programmiersprachen rein schreiben müsste.

Wenn ich mir require (intern erklärt) ansehe, leuchtet mir das true nicht ein. Auch beim eingesetzten do nicht.

//EDIT: Skizziert gesagt: Datei öffnen, Code in Buffer einlesen bis Dateiende, Code in Buffer kompilieren, geht auch ohne ein 1 am Ende.

2014-09-06T10:09:39 rosti
In Dateien, die mit require eingebunden werden, macht es jedoch schon Sinn, eine Referenz oder einen Typeglob zurückzugeben
Bestreite ich nicht, das sowas praktisch ist.
Aber mit require Objekte erzeugen mag zwar perlish sein, aber ist m. E. nicht unbedingt moderner Stil, eher Perl-Geekism.
Last edited: 2014-09-06 12:38:32 +0200 (CEST)
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

View full thread Warum immer noch true am Ende bei Perl-Modulen nötig?