无法在perl中获取perforce的clientRoot

时间:2016-07-19 06:09:06

标签: perl perforce

我想在perl脚本中获取perforce的clientroot。

我把代码编写为:

my $workspace_root=system("p4 client -o | findstr /b Root");
print $workspace_root;

不打印路径,而是打印0

有谁能告诉我这里缺少什么?

2 个答案:

答案 0 :(得分:1)

system更改为backticks

my $workspace_root = `p4 client -o | findstr /b Root`;
print $workspace_root;

如果要存储命令的输出,请使用backticks。如果您不关心输出,请使用system

请参阅What's the difference between Perl's backticks, system, and exec?以了解systembackticks

答案 1 :(得分:1)

我会这样做:

my $workspace_root = `p4 -Ztag -F %Root% client -o`;
print $workspace_root;

这样脚本将在其他平台上运行,不会被名称,描述,视图等中带有“Root”的客户端欺骗。