Когда я запускаю свой скрипт так:
C:\>perl script.pl -f file
Работает нормально. Но если я просто сделаю:
C:\>script.pl -f file
тогда я не получаю никаких ошибок, но getopts
ничего не присваивает $opt_f
Это прекрасно работает на Perl 5.8 Windows XP, но не работает на Perl 5.12 на Windows 7.
Других версий perl
не установлено (это новая сборка ОС).
Код:
use Getopt::Std;
our ($opt_f);
getopts('f:');
print "input file is: $opt_f \n";
print "$0\n
Запуск с:
C:\> perl get.pl -f sadf
input file is: sadf
get.pl
Запуск без:
C:\>get.pl -f sadf
input file is:
Ничего!
РЕДАКТИРОВАТЬ: исправлено, и этот вопрос был повтор ...
Как заставить сценарии Perl распознавать параметры в консоли Win32 cmd?
ОП этого поста понял это.
Мне пришлось сделать то же самое, но также воссоздать ассоциацию в графическом интерфейсе (в дополнение к reg и в командной строке с помощью ftype.)