Подтвердить что ты не робот

Как вызвать python script из Perl?

Мне нужно вызвать "/usr/bin/pdf2txt.py" с несколькими аргументами из моего Perl script. Как мне это сделать?

4b9b3361

Ответ 1

Если вам нужно записать STDOUT:

my $ret = `/usr/bin/pdf2txt.py arg1 arg2`;

Вы можете легко захватить STDERR перенаправление его на STDOUT:

my $ret = `/usr/bin/pdf2txt.py arg1 arg2 2>&1`;

Если вам нужно зафиксировать статус выхода, вы можете использовать:

my $ret = system("/usr/bin/pdf2txt.py arg1 arg2");

Имейте в виду, что `` и system(), пока программа не завершит выполнение.

Если вы не хотите ждать, или вам нужно захватить как STDOUT/STDERR, так и статус выхода, вы должны использовать IPC:: Open3.

Ответ 2

my $output = `/usr/bin/pdf2txt.py arg1 arg2`;

Ответ 3

Если вам не нужен вывод script, но вы хотите получить код возврата, используйте system():

...
my $bin = "/usr/bin/pdf2txt.py";
my @args = qw(arg1 arg2 arg3);
my $cmd = "$bin ".join(" ", @args);

system ($cmd) == 0 or die "command was unable to run to completion:\n$cmd\n";