Gav*_*ock 12

您可以在shebang行上传递PERL5OPT环境变量:

#!/usr/bin/env PERL5OPT=-T perl
Run Code Online (Sandbox Code Playgroud)

这似乎对我来说都是倒退.

另一种选择是,如果检测到它没有打开,则在污染模式下重新执行脚本:

#!/usr/bin/env perl

warn 'Taint mode is '.(${^TAINT} ? 'on' : 'off'); # For debugging

exec($^X,'-T',$0,@ARGV) unless ${^TAINT};

# do stuff under taint mode here
Run Code Online (Sandbox Code Playgroud)

显然,这是一个重大的创业公司业绩.

  • 您无法使用/ usr/bin/env在shebang中实际指定变量.这样做会导致env在无限循环中执行,甚至从未达到所请求的命令.我针对Linux和FreeBSD测试了这个. (3认同)