3

У меня уникальная проблема ... Я разрабатываю Perl на машине с Windows, но мои тестовые / прод-серверы AIX. Я хочу иметь возможность локального тестирования с установкой Apache & Perl, но я не хочу менять #! Во всех моих сценариях укажите строку для тестирования локально, а затем измените их обратно для загрузки на тестовый сервер.

У меня такой вопрос: могу ли я создать какой-либо тип ярлыка / псевдоним / что-нибудь в Windows в стиле «/ usr / bin / perl», который на самом деле указывает на «C:\ActiveState\Perl5.0.12\perl.exe»?

Я отчасти потерян на этом, поэтому любая помощь очень ценится. Спасибо!

3 ответа3

1

Да, ты можешь. Просто создайте путь, указанный в исходном коде Perl. Например, если вы используете #!/usr/pkg/bin/perl, затем в Windows вы можете создать путь на том же диске (предположительно C:) и создать символическую ссылку на него (без .exe).

В зависимости от того, что вы делаете, это может или не может работать, но вам придется попробовать. Если вы ожидаете просто запустить свои файлы .pl, то это не сработает, потому что Windows не так гибка, как Unix или Linux, в отношении чтения первой строки двоичного файла, чтобы определить, как его выполнить / интерпретировать.

Вы можете использовать команду Windows "mklink" для создания символической ссылки (спасибо @grawity за предложение добавить этот пункт).

1

Не беспокойся


C:\> type t1.pl
#!/usr/bin/perl
use strict;
use warnings;
print "that worked\n";

C:\> t1.pl
that worked

Но я думаю, что Apache нужна правильная строка shebang - в этом случае см. Https://stackoverflow.com/questions/2036577/how-do-i-ignore-the-perl-shebang-on-windows-with-apache-2

0

Вы можете ПОПРОБОВАТЬ репликацию структуры каталогов unix на ваш раздел C, а затем вы можете создать символические ссылки соответственно, если на NTFS. Хотя в NTFS они называются « соединениями », и в проводнике Windows нет средств, позволяющих отличать соединения от оригинальных файлов / каталогов - вам нужен этот инструмент, чтобы использовать функции соединения NTFS.

Я люблю сим-ссылки и использую их как сумасшедший. Но я избегаю использования переходов на NTFS, потому что проводник не показывает, кто они, и я боюсь забыть о том, что я сделал, или, что еще хуже, другие пришли и как-то взорвали мир. Тем не менее, это может работать для вас. Хотя в основном все зависит от того, как интерпретатор Perl преобразует пути в стиле Unix для использования в Windows.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .