Hallo,
ich habe ein grundsätzliches Problem mit der Behandlung von Übergabeparametern und Variablen.
Beispiel:
Das Hauptprogramm Haupt erhält über POST eine Vielzahl von Parametern (p1,p2,...). Diese werden gelesen mit
use CGI qw(param);
my $p1=param('p1');
....
Es ruft diverse Unterroutinen auf im Modul up.pm. Diese Unterroutinen benötigen jeweils eine Teilmenge der im Hauptprogramm verfügbaren Parameter.
Ich sehe nun folgende Varianten:
1. Aufruf der Unterroutinen mit genau den Parametern, die sie benötigen.
In den Unterroutinen Lesen der Parameter mit my ($p1,p3,....) = @_;
Vorteil: Genaue Übersicht über die verwendeten Parametern.
Nachteil: Schreibarbeit, Änderung ggf. in Haupt und Unterprogramm
2. Aufruf aller Unterroutinen mit jeweils allen Parametern.
Die Unterroutinen lesen nur die für sie notwendigen Parameter.
Vorteil: Alle Aufrufe im Hauptprogramm identisch.
Nachteil: ?
3. Keine Übergabe von Parametern im Hauptprogramm.
Das Unterprogramm holt jeweils die für es notwendigen Parameter mit
use CGI qw(param);
my $p1=param('p1');
.....
Vorteil: Einfache Aufrufe im Hauptprogramm.
Nachteil: ?
Welche Variante ist zu empfehlen?
Gibt es weitere, bessere Varianten?