Я думаю, я просто привык писать argv и argc маленькими буквами (см. Java), поэтому я не обращал внимания на написание в примерах ...

ожно передать аргументы командной строки через сопоставление файлов в Vista 64?

Я недавно построил ПК под управлением Vista Ultimate 64-битной. Я заметил, что некоторые из перенесенных мной сценариев Perl не сработали из-за того, что аргументы командной строки не были переданы. В качестве простого теста я написал следующее (foo.pl):

#!/usr/bin/perl -w
use strict;
my $num_args = $#ARGV + 1;
print "${num_args} arguments read\n";
print "$^X\n" # to see what was being used

Запуск "foo.pl 1 2 3" нежелательно дал:

0 arguments read
C:\strawberry\perl\bin\perl.exe

Запуск "perl foo.pl 1 2 3" ожидаемо дал:

3 arguments read
C:\strawberry\perl\bin\perl.exe

На моем старом ПК с Windows XP оба вызова вернули 3 аргумента. Я задокументировал больше моего спящего здесь (win32.perl.org wiki talk), но я еще не нашел решение, которое работает.

Я также пробовал ActivePerl-5.10.0.1004-MSWin32-x64-287188.msi безрезультатно.

Любая помощь будет оценена. Это сводит меня с ума.

Ответы на вопрос(4)

Ваш ответ на вопрос