Hallo,
bisher baue ich immer Kontrollstrukturen auf, um Parameter zu handlen. Bei vielen möglichen Parametern wird diese Kontrollstruktur recht lang und unübersichtlich.
Und vor allem kann so eine Kontrollstruktur verschachtelte Abhängigkeiten nicht ausdrücken. Oder wie Lolli schon schrieb: Datentypen. Deswegen nutze ich so etwas (meist als Hash oder nur als "param in sys.argv[1:]") bei wirklich simplen Parametern. Irgendwann landet man dann eh bei einem Option Parser, also kann man auch etwas aus der Standard-Bibliothek nehmen und anpassen, das das für einen erledigt. Unter Python wäre das z.B. optparse. Bei Perl kenne ich mich mangels Praxis nicht so aus, aber unter GetOpt::* gibt's bei CPAN eine Menge. Das Parsen von Parametern und Optionen (meist im GNU-Stil) ist unter den üblichen Skriptsprachen ein gelöstes Problem; es besteht kein Grund, sich künstlich das Leben zu komplizieren.
Nachteil: Es führt dazu, das Funktionen in Funktionen aufgerufen werden, das ist auch nicht gerade schön.
Wo ist denn da der Nachteil? Wenn man halbwegs Event, Callback oder OOP-orientiert arbeitet, landet man eh dabei. Kein Grund, in Panik zu verfallen.
Tim