Thread wer hat lust auf ein Spiel? (61 answers)
Opened by conray at 2010-02-19 20:31

Linuxer
 2010-03-03 19:57
#134029 #134029
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
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!

View full thread wer hat lust auf ein Spiel?