通过perl脚本调用make实用程序/文件

时间:2013-07-03 12:57:32

标签: perl makefile

有什么办法可以通过perl脚本调用make实用程序。 我在myscript中使用了以下代码

$cmd=system("/...path../make");
print "$cmd";

但它不起作用

2 个答案:

答案 0 :(得分:2)

您可以拨打任何您想要的命令。为简单起见,通常在反引号中完成:

my $output = `make`;
print( $output );

另一种常见技术是打开一个阅读过程,就像文件一样:

my $filehandle;
if ( ! open( $filehandle, "make |" ) ) {
    die( "Failed to start process: $!" );
}
while ( defined( my $line = <$filehandle> ) ) {
    print( $line );
}
close( $line );

这样做的好处是可以看到输出过程中的输出。

您可能希望通过将2>&1添加到命令行来捕获STDERR输出以及STDOUT输出:

my $filehandle;
if ( ! open( $filehandle, "make 2>&1 |" ) ) {
    die( "Failed to start process: $!" );
}
while ( defined( my $line = <$filehandle> ) ) {
    print( $line );
}
close( $line );

答案 1 :(得分:2)

你只需要使用反引号。

my $command = `make`;
print $command;

system的返回值是退出状态。 见here

编辑:链接到系统