Выполните сценарий perl, который не имеет расширения .pl, из другого сценария perl, который имеет расширение .pl - PullRequest
0 голосов
/ 12 июня 2019

Как выполнить скрипт perl с файлом с именем «first» (без расширения) из другого скрипта perl под названием second.pl в Windows?

Содержимое файла first:

#!/usr/bin/perl5.8.4 -w
>> Some code

Содержимое файла second.pl:

#!/usr/bin/perl
use strict;
use warnings;

system "first";

Так что моя проблема в том, что когда я запускаю файл "first" из командной строки Windows, он работает

, но если я пытаюсь запустить егоиз моего файла "second.pl", используя system "first";, происходит сбой со следующей ошибкой:

can't exec "first" : Not a directory at "second.pl" at line 6

1 Ответ

1 голос
/ 12 июня 2019

Windows использует расширение файла, чтобы понять, как запустить файл. Поскольку у вас нет расширения, ОС думает, что вы пытаетесь открыть каталог.

Вы можете исправить это, изменив system "first"; на

system $^X, "first"

Это заставит Windows снова запустить текущий интерпретатор Perl, передав имя вашего скрипта в качестве первого параметра, который заставит Perl запустить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...