1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
#!/usr/bin/perl use strict; use warnings; use lib './lib'; use Log::Log4perl qw(:easy); use Log::Log4perl::CommandLine qw(:all no_init); Log::Log4perl->easy_init({ level => $ERROR, layout => "%p\t%d(%r) %F:%M(%L) - %m%n", }); Log::Log4perl::CommandLine::handlelogoptions(); use Getopt::Long qw(:config gnu_getopt); use Data::Dumper; our $opt_file; GetOptions('file|f=s') or die('useage...'); print "file: $opt_file\n";
1
2
3
.% /versuch.pl --file=test.txt
Use of uninitialized value $opt_file in concatenation (.) or string at ./versuch.pl line 22.
file:
2012-01-16T14:02:09 orui[...][...]Code (perl): (dl )1 2 3 4 5 6 7#line 17 our $opt_file; GetOptions('file|f=s') or die('useage...'); print "file: $opt_file\n";
2012-01-16T14:37:22 murphyDas sieht so aus, als läge das Problem eher an einem falschen Aufruf von GetOptions, denn es fehlt hier eine Angabe, wohin das Optionsargument gespeichert werden soll. Ich nehme an es sollte wohl
heißen.
1 2 3 4 5 6 7 8 9 10 11
#!/usr/bin/perl use strict; use warnings; use lib './lib'; use Getopt::Long qw(:config gnu_getopt); our $opt_file; GetOptions('file|f=s') or die('usage...'); print "file: $opt_file\n";
GetOptions('file|f=s' => \$opt_file) or die('useage...');
2012-01-16T15:04:02 orui[...]
Getopt schreibt die Ergebnisse aber direkt in die darüber deklarierte Varibale.
[...]