我想在perl脚本中获取perforce的clientroot。
我把代码编写为:
my $workspace_root=system("p4 client -o | findstr /b Root");
print $workspace_root;
不打印路径,而是打印0
有谁能告诉我这里缺少什么?
答案 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?以了解system
和backticks
。
答案 1 :(得分:1)
我会这样做:
my $workspace_root = `p4 -Ztag -F %Root% client -o`;
print $workspace_root;
这样脚本将在其他平台上运行,不会被名称,描述,视图等中带有“Root”的客户端欺骗。