Как я могу назвать Сценарий PHP из сценария Perl и получить его вывод как переменную?
Использование оператора обратной кавычки :
my $phpOutput = `/usr/bin/php-cli your-script.php`;
Обратите внимание, что вам может потребоваться отредактировать путь, чтобы указать на ваш php
исполняемый файл.
Если вы хотите иметь вывод в виде потока, вы также можете открыть
с конвейером (Perl <3):
open PHPOUT, "/usr/bin/php-cli your-script.php|";
while (<PHPOUT>) {
# do something with the current line $_
}
См. perldoc -f open .
Обратная сторона этого вопроса , но тот же ответ.
Используйте обратные кавычки или оператор qx
:
$output = `/path/to/php my_script.php`;
Возможно, будет проще выделить это в его основную проблему, как вызвать другую программу из perl , ответ на который содержится в информации perlop
справочной страницы о qx
] (или найдите команду perl qx
другими способами). Это сообщает вам, как запустить внешнюю программу и получить результат, предполагая, что ваш PHP-скрипт действительно работает при вызове из командной строки (вы можете запустить его через php your-php-script.php
?) .
Если ваш сценарий работает только через HTTP-запрос, вам нужно использовать что-то вроде LWP :: UserAgent или WWW :: Mechanize для получения контента через его URL-адрес, аналогично тому, как вам нужно будет использовать HTTP_Request.php
в PHP.