C:\My\Work\Perl\getopt>getopt-01.pl -a -b Test
1
2
3
4
use Getopt::Std;
getopts ("ab:");
print "a exists\n" if $opt_a;
print "b = $opt_b\n" if $opt_b;
1
2
3
4
5
6
7
8
9
C:\My\Work\Perl\getopt>perl -v
This is perl 5, version 16, subversion 2 (v5.16.2) built for MSWin32-x86-multi-thread
(with 1 registered patch, see perl -V for more detail)
Copyright 1987-2012, Larry Wall
Binary build 1602 [296513] provided by ActiveState http://www.ActiveState.com
Built Dec 19 2012 12:35:59
2013-06-04T09:32:47 LinuxerErster Gedanke: zwei verschiedene Perl-Versionen installiert?
Beim ersten Aufruf gibst Du den Interpreter vor, beim zweiten muss Windows entscheiden, welcher (mit .pl verknüpft ist und) benutzt wird.
QuoteWas wird denn angezeigt, wenn du nur getopt-01.pl -a -b Test eingibst?hat jemand eine Idee, warum der folgende Aufruf einmal funktioniert und einmal nicht.
Was wird denn angezeigt, wenn du nur getopt-01.pl -a -b Test eingibst?
"C:\Perl\bin\perl.exe" "%1" %*
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
C:\My\Work\Perl\getopt>getopt-01.pl -a -b Test
C:/Perl/site/lib
C:/Perl/lib
.
$VAR1 = [];
end of perl
C:\My\Work\Perl\getopt>/perl/bin/perl getopt-01.pl -a -b Test
C:/Perl/site/lib
C:/Perl/lib
.
$VAR1 = [
'-a',
'-b',
'Test'
];
a exists
b = Test
end of perl
1
2
3
4
5
6
C:\My\Work\Perl\getopt>perl -MGetopt::Std -E "say $Getopt::Std::VERSION"
1.07
This is perl 5, version 16, subversion 2 (v5.16.2) built for MSWin32-x86-multi-thread
(with 1 registered patch, see perl -V for more detail)