На одном из моих coleagues машины, если вы просто посмотрите на Java вы можете найти его:Почему Perl не видит файл, который существует в Windows?
c:\>where java
C:\Windows\system32\java.exe
Однако, если я делаю это испытание в Perl:
c:\>perl -e "print (-e 'c:\\windows\\system32\\java.exe' ? 'found' : 'not found')"
not found
(это прекрасно работает на моем машина). Я слышал о каком-то странном кеше, где файлы становятся поддельными, поэтому они сортируются, но я понятия не имею, что это может быть вызвано, и ничего, что я искал в googled.
Возможно WOW64 файловой системы Перенаправление, если вы используете 32-разрядную Perl на 64-битных ОС Windows - доступ к '% SYSTEMROOT% \ System32' будет перенаправлен на '% SYSTEMROOT% \ Syswow64'. –