2

对不起,如果它太天真了。我想编写一个简单的 PERL 脚本,它将接受两个参数(此处提交标签)作为 cleartool 命令的输入,并为我提供合适的输出。我的代码:

#!/usr/bin/perl
$file1 = system('cleartool find . -version "lbtype($ARGV[0])" -print > filename1');
$file2 = system('cleartool find . -version "lbtype($ARGV[1])" -print > filename2');
$file3 = system('diff filename1 filename2 > changeset');
print $ARGV[0];
print $ARGV[1];
print $file3;
close filename1;
close filename2;
close changeset

现在的输出是 3 个空文件:filename1、filename2 和 changeset。但我需要在两个提交的标签之间提交的文件。

任何人都可以阐明我哪里出错了!

提前致谢。

4

2 回答 2

2

尝试这个:

$file1 = system("cleartool find . -version 'lbtype($ARGV[0])' -print > filename1");

代替

$file1 = system('cleartool find . -version "lbtype($ARGV[0])" -print > filename1');
于 2013-09-11T07:28:44.640 回答
0

你还有一些 Perl 包来促进cleartool命令的执行。

这将允许直接在数组而不是文件中获取结果(即使您可以根据需要将该数组转储到文件中)

@res = ClearCase::CtCmd::exec("find . -version 'lbtype($ARGV[0])' -print");
于 2013-09-11T08:02:57.920 回答