Thread Frage zu GetOptions - warum funktioniert meine Erweiterung nicht ?
(3 answers)
Opened by jan99 at 2014-11-18 08:24
Moin !
ich habe, unter win7, ein einfaches Script zum Zählen von Dateien. (Urquelle: msg #177948) Das wird derzeit noch so aufgerufen ... Code: (dl
)
perl C:\Perl-Tools\tile_counter.pl --dir=%folder2delete%\%%n\ --file=*.png und das Perl sieht wie folgt aus: 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 #!/usr/bin/perl use strict; use warnings; use 5.010; use Cwd; use File::Spec; use Getopt::Long; use File::Find::Rule; $| = 1; my $PROGNAME = ( split m|[\\/]|, $0 )[-1]; help() if !@ARGV; my ( @filemask, @dir ); my ( $wiki_output, $help ); GetOptions( "f|file=s" => \@filemask, # filemasks to select several files (DEFAULT: all files) "d|dir=s" => \@dir, # dirs for scan (DEFAULT: current dir) "wiki" => \$wiki_output, # report in wiki-format (DEFAULT: off) "h|help" => \$help # show help ) or die "Error in command line arguments\n"; ### set defaults of parameters if not already set push @dir, Cwd::cwd() if not @dir; # use current dir, if no parameter --dir defined $wiki_output //= 0; help() if $help; .. Nun wollte ich dieses soweit aufbohren das ein Wert zum Hochzählen der der Ordner mit eingebaut werden kann. Das weitere rund-her-um ist sollte nebensächlich sein. Der Aufruf soll jetzt wie folgt aussehen: Code: (dl
)
perl C:\Perl-Tools\tile_counter.pl --from=10 --to=20 --dir=%folder2delete%\%%n\ --file=*.png und mein Code sieht wie folgt aus: 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 5.010; use Cwd; use File::Spec; use Getopt::Long; use File::Find::Rule; $| = 1; my $PROGNAME = ( split m|[\\/]|, $0 )[-1]; help() if !@ARGV; my ( @filemask, @dir ); my ( $wiki_output, $help, $from, $to); GetOptions( "f|file=s" => \@filemask, # filemasks to select several files (DEFAULT: all files) "d|dir=s" => \@dir, # dirs for scan (DEFAULT: current dir) "wiki" => \$wiki_output, # report in wiki-format (DEFAULT: off) "f|from=i" => \$from, # zoom level FROM (or min) "t|to=i" => \$to, # zoom level TO (or max) "h|help" => \$help # show help ) or die "Error in command line arguments\n"; ### set defaults of parameters if not already set push @dir, Cwd::cwd() if not @dir; # use current dir, if no parameter --dir defined $wiki_output //= 0; help() if $help; for my $i ($from .. $to) { print "$i\n"; } Was mich nur wunder ist, dass die Hochzählschleife nicht erreicht werden kann. Kann mir einer weiterhelfen? Gruß Jan :-) perl-Greenhorn - Win7 64bit / strawberry (ehem. activeperl) - www.OpenStreetMap.de
|