从perl调用带反引号的find – find:写入错误:管道损坏

前端之家收集整理的这篇文章主要介绍了从perl调用带反引号的find – find:写入错误:管道损坏前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我从这样的perl脚本调用find:

    my $one_file = `find $search_dir -name "\*.$refinfilebase.search" -print | head -n 1`;

如果我从shell执行它,我没有错误.此外,它将正确的值返回到$one_file,但我在提示符下得到了这个:

find: write error: Broken pipe

那为什么会这样?我怎样才能摆脱这个发现:写错误:管道信息损坏?

解决方法

你可以尝试这个(虽然我没有设法使用你发布的代码重现你的错误信息,所以也许这个我的错误版本可能会给你一个错误信息……):

my $file = `find $search_dir -name "\*.ssf" -print -exec head -n 1 {} \\;`;

这是我从测试运行中获得的一些示例输出

./tmp1.ssf
HEADER    PROTEIN                                 21-FEB-11     1PDB

HTH

猜你在找的Perl相关文章