最簡單的方法是在
my $output = `python Example.py $PName.txt`;
print "Backticks:\n", $output;
同義方法涉及qx//
使用backticks (``
)作爲。
my $output = qx/python Example.py $PName.txt/;
print "Backticks:\n", $output;
要讀取每一行,請從Python子流程中打開管道。
print "Pipe:\n";
open my $fh, "python Example.py $PName.txt |";
while (<$fh>) {
print "Perl got: ", $_;
}
close $fh or warn "$0: close: $!";
正如perlipc文檔的「Safe Pipe Opens」 section概述,您可以通過拆分命令進入參數繞過外殼。
open my $fh, "-|", "python", "Example.py", "$PName.txt";
輸出:
Backticks:
Python program: Example.py
Argument: pname-value.txt
Pipe:
Perl got: Python program: Example.py
Perl got: Argument: pname-value.txt