Thread wer hat lust auf ein Spiel?
(61 answers)
Opened by conray at 2010-02-19 20:31
Hi,
shift @ARGV entfernt das erste Element von @ARGV und liefert es zurück. Ich würde das Skript auf Getopt::Long umstellen, um damit die Parameter-Verwaltung zu machen. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 #! /usr/bin/perl use strict; use warnings; use Getopt::Long; my $had_action = 0; # sub routines # ############################ sub parse_options { GetOptions( 'ping' => \&do_ping, 'dump' => \&do_dump, # ... ) or exit 1; }; sub do_ping { # insert code for pinging } sub do_dump { # insert code for dumping } # ... # main program # ############################ parse_options(); __END__ Die Umstellung des Skriptes überlass ich anderen ;o) EDIT: Damit kannst Du dann auch mehrere Parameter angeben. Aktuell erwartet (aus Sicht von GetOpt::Long) keiner der Parameter eine Option. Pro Subroutine (so entsprechend programmiert) wird dann hoffnungsvoll davon ausgegangen, dass @ARGV noch genug Rest enthält. Ansonsten kann man Getopt::Long auch so benutzen, dass Argumente für die Parameter übergeben werden. Mehr dazu in der Perldoc: http://search.cpan.org/perldoc?Getopt::Long Last edited: 2010-03-03 20:01:04 +0100 (CET) meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |