Matti Maekitalo: Funktion ausfuehren, deren Namen nur als Skalar bekannt

Beitrag lesen

use Mosche;

Naja, er müßte in halt immer schreiben:

$hash->{funktiosname} = sub () { .... };

und könnte diese dann auch nicht mehr in verschiedenen Dateien unterbringen.

OK, wenn man das so sieht. Die 15 Zeichen mehr habe ich auch überlebt :-)

[...] ich will möglichst vermeiden, irgendwelche Probleme zur Laufzeit zu bekommen.

Was sollen denn da für Probleme auftauchen?
Letztlich schmeisst Perl ganz normal die Fehler oder überseh ich da was?

Naja, wenn ich darauf achte, dass mein Perl-Script möglichst wenig Input bekommt, den es nicht kontrollieren kann, kann ich überhaupt vermeiden, dass Fehler während der Laufzeit auftreten. Ich finde immer, dass Laufzeitfehler am schlimmsten zu finden sind, und deswegen schreibe ich meine Scripte so, dass möglichst alles in einer kontrollierten Umgebung abläuft.

Bsp (zugegeben einfach):
Du hast ein Perl-Script, dass zur Laufzeit irgendwelche Dinge nachlädt (womöglich noch dynamisch). Wenn das nicht klappt, hast du gleich mehrere Fehlerquellen. Lädt es hingegen "konstante" Module, dann hast du eine potentielle Fehlerquelle ausgeschlossen. Die Performance ist hierbei nicht mehr wirklich entscheidend: Wenn du darauf wirklich achtest, solltest du:
a) nicht in Perl programmieren, sondern eine vorab kompilierbare Sprache nehmen oder:
b) die Module gleich im Speicher des Webservers halten (bei CGI-Skripten). Dann kannst du auch gleich alle Module laden, und das dynamische laden ist unnötig.

use Tschoe qw(Matti);

--
  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.