我最近使用Perlbrew而不是系统Perl将一个应用程序转换为使用它自己的Perl版本,并且我再也不会使用系统Perl了!
我即将启动一个全新的应用程序,在该应用程序中,所有脚本都将在打开TAINT的情况下运行。与我以前的应用程序一样,新应用程序的库将拒绝在没有打开TAINT时运行。
我的问题是,我可以安装或修改我自己的专用Perl,使其在默认情况下始终在TAINT模式下运行吗?
编辑:对不起——我应该也提到,我想在脚本中使用#!/usr/bin/env perl
shebang习惯用法,所以定义shell别名不是一个解决方案。
虽然将perl修改为始终在打开污染的情况下运行看起来相当简单(未经测试:在perl.c中处理/case的命令行开关之后添加TAINTING_set(TRUE);
),但没有支持的方法。设置PERL5OPT环境变量是最接近的。请注意,"-T"必须位于变量值的第一位,您试图在其中设置的任何其他开关都将被忽略。
不过,这一切似乎过于偏执。在#上加"-T"还不够吗-可能获得外部输入的脚本行?