У меня есть Perl-скрипт, который отказывается видеть существующие файлы данных.Когда я беру код и изолирую в тестовом сценарии perl, он работает нормально, но в основном сценарии perl он ничего не находит.
Код выглядит следующим образом:
use Cwd qw(cwd);
my $dir = cwd;
print STDERR "gen-decsplecs : dir $dir : file $ARGV[0]\n";
if (-e $ARGV[0]) {
print STDERR "gen-declspecs : File Exists : $ARGV[0]\n";
} else {
print STDERR "gen-declspecs : File does not exist : $ARGV[0]\n";
}
if (-e "C:/Users/walter/Documents/Projects/agar-1.5.0/ada-core/ctxt.h") {
print STDERR "gen-declspecs : File Exists : C:/Users/walter/Documents/Projects/agar-1.5.0/ada-core/ctxt.h\n";
} else {
print STDERR "gen-declspecs : File does not exist : C:/Users/walter/Documents/Projects/agar-1.5.0/ada-core/ctxt.h\n";
}
open(F, $ARGV[0]) || die "$ARGV[0]: $!";
Это печатает:
gen-decsplecs : dir C:/Users/walter/Documents/Projects/agar-1.5.0 : file './ada-core/ctxt.h'
gen-declspecs : File does not exist : './ada-core/ctxt.h'
gen-declspecs : File Exists : C:/Users/walter/Documents/Projects/agar-1.5.0/ada-core/ctxt.h
'./ada-core/ctxt.h': No such file or directory at mk/gen-declspecs.pl line 93.
gen-declspecs.pl failed
Так что мой вопрос, если код выполняет каталог fomr:
C: /Users/walter/Documents/Projects/agar-1.5.0
И ищет файл:
. / Ada-core / ctxt.h
Почему он не существует по относительному пути, когда файл с полным патчем:
C:/Users/walter/Documents/Projects/agar-1.5.0/ada-core/ctxt.h
существует?Особенно, когда я скопировал Perl в тестовый скрипт, и он работает !!!