perl多线程模块Thread与autodie模块的冲突

近日笔者在写一个多线程perl脚本时,发现所有新建的线程都意外退出,错误提示如下:

Thread 1 terminated abnormally: main=HASH(0x7f5438014a90) at ...

对创建线程的子程序进行了测试,发现当子程序用open(I,"samtools depth $bam|")来读文件时,就会出现这样的报错,如果直接用<来读取文件就不会出现问题。

同时笔者用另外一个小程序来测试时发现又不会出现问题,最终确定是脚本中使用了use autodie;模块导致的。

原文地址:https://www.cnblogs.com/yumtaoist/p/3560571.html