Pensky: Umgang mit Parametern

Beitrag lesen

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?