Struppi: Wird Riesenperlscript auf einmal geladen?

Beitrag lesen

Das Problem bei dem Script ist, dass ich es nicht sehr gut aufteilen kann, da ich nicht will, dass man ohne Einloggen irgendwelche Unterscripts laden kann. Vielleicht werde ich am Schluss noch einen Teil irgendwie mit require importieren, aber dann leidet erstens wieder die Lesbgarkeit daran, und 2. wäre es nicht schneller, wenn ich die Daten zusammen lasse und nicht mit require importiere, weil ich kann mir vorstellen, dass das ständige importieren für Perl auch ganz schön Arbeit ist?

Wie gesagt du solltest deine Anwendung in Module unterteilen, nicht in Unterskripts. Dann wird es übersichtlicher und kann ein CGI skript schneller machen. aber wenn dein Skript ein monolithischer Block ist, bringt es natürlich nichts das zu unterteilen.

Mit einloggen oder nicht hat das auch nichts zu tun. Ich mach das z.b. so ähnlich:

Es gibt eine: index.pl

my $action_liste = {
action_1 => { modul => 'modul_1.pl', funktion => 'func_1'},
action_2 => { modul => 'modul_2.pl', funktion => 'func_2'},
....

};

use Login;

my $user = Login();
my $action = param('a');
my $modul = $action_liste->{$action}->{modul};

Das sieht nicht wirklich so aus, soll nur zeigen was ich meine. Du musst hier natrülich prüfen, darf der User das? existiert das Modul? usw.

require $modul
my $func = $action_liste->{$action}->{funktion};

&$func();

und in den Modulen bindest du die notwendigen Bibliotheken ein.

Struppi.