Thread Ordnung auf der Kommandozeile
(21 answers)
Opened by rosti at 2014-09-18 08:44
Update: Eine methode manpage() zur automatischen Ausgabe einer man page, die erzeugt wird anhand der initial deklarierten Optionen.
Ausgegeben wird sowohl die Lang- als auch die Kurzform einer Option (--date, -d) wobei die mögliche Kurzform automatisch ermittelt wird. Dieses optionale Feature erleichtert die Erstellung von Kommandoklassen insofern als dass nur noch an einer Stelle die möglichen Optionen deklariert werden müssen, z.B.: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 sub init{ my $self = shift; # declare opts $self->{OPTS} = { date => {type => 's', descr => "Datum, Format T.M.J oder T.M.-J (v. Chr.)"}, version => { descr => "Zeigt die Version dieser Anwendung, wenn als Flag gesetzt"}, verbose => { descr => "Gibt weitere Informationen aus, wenn als Flag gesetzt" }, }; } Das erzeugt mit $self->manpage("Untersucht ein eingegebenes Datum, Optionen:"); auch die möglichen Kurzformen für die Optionen: Code: (dl
)
1 D:\>cli.pl Date Update: Es gibt Fälle, da ist die Bildung einer Kurzform der Long-Opt nicht möglich, das sollte beim Design der Long-Opts berücksichtigt werden. Da Getopt::Long selbst die Kurzform einer Long-Option zuordnen kann, habe ich in der Methode manpage() eine Prüfung eingebaut, welche dem Designer eine Warnung ausgibt, wenn die deklarierten Long-Opts keine Kurzform ermöglichen (Qualitätssicherung beim Entwicklen einer Kommandoklasse). Last edited: 2014-09-21 08:18:22 +0200 (CEST) |