我正在尝试查找clearcase视图的最后访问日期,perl脚本如下所示。
@Property = `cleartool lsview -prop $viewtag ` ;
foreach $property (@Property)
{
$last_accessed = $property if ( $property =~ /^Last accessed / );
# | cut -b 15-24 | awk -F '-' '{ print $3"/"$2"/"$1 }'
}
如果cleartool命令失败,问题是我面临的是perl脚本退出。即使cleartool返回错误,我希望perl继续。
的BRs 摩尼。
答案 0 :(得分:8)
简单而原始的方法是将可能失败的代码放在eval块中:
eval { @Property = `cleartool lsview -prop $viewtag ` };
这样,即使cleartool失败,你的Perl脚本也会继续。
正确的方法是使用Try::Tiny之类的适当模块。错误将在变量$ _。
中的catch块内可用try {
@Property = `cleartool lsview -prop $viewtag `;
}
catch {
warn "cleartool command failed with $_";
};
答案 1 :(得分:3)
您可以按照“Try::Tiny”中的建议尝试使用“What is the best way to handle exceptions in perl?”。
另一种方法是使用eval
cleartool命令。
eval { @Property = `cleartool lsview -prop $viewtag` };
if ($@) {
warn "Oh no! [$@]\n";
}