如何将 perl 设置为始终 运行 代码覆盖率

How to setup perl to always run code coverage

我想通过 perl 的 Devel::Cover 模块将我的项目设置为始终 运行 脚本。我试过用这样的东西替换 perl 二进制文件

#!/bin/sh
exec /usr/local/bin/original-perl -MDevel::Cover $@

没有成功。我想避免为我系统上的每个脚本修改 #!(不是世界末日,我只是想找出一个更全局的解决方案)。

关于如何全局打开 Devel::Cover 有什么想法吗?

编辑: 不尝试 运行 在生产中这样做,只是尝试一些实验来弄清楚如何拆分紧密耦合的代码库。有一些自动化的方法来查看给定子系统需要哪些源文件(至少作为开始)会很有帮助

您可以将环境变量 PERL5OPT 设置为始终加载 -MDevel::Cover

export PERL5OPT="-MDevel::Cover"

请参阅 perlrun 了解对此的解释。


但正如迈克尔卡曼所说,你为什么要这样做?它将 显着的性能成本 并且如果您不 运行 测试可能没有用。