Perl:在不接触代码的情况下设置环境变量

Perl:在不接触代码的情况下设置环境变量,perl,shell,Perl,Shell,我有一个perl文件,希望了解某些环境变量。因此,我可以补充: $ENV{PLACK_ENV} = 'development' 在代码和它的ok 但是有没有一种方法可以在不触碰代码的情况下做到这一点 附言:我正在使用linux你可以很容易地做到这一点 $ export PLACK_ENV=development $ perl your_script.pl 或 我不确定我是否理解你的问题。您是否在询问是否可以不使用Perl设置环境变量?@HunterMcMillen是的。我不想接触perl代码

我有一个perl文件,希望了解某些环境变量。因此,我可以补充:

$ENV{PLACK_ENV} = 'development'
在代码和它的ok

但是有没有一种方法可以在不触碰代码的情况下做到这一点

附言:我正在使用linux

你可以很容易地做到这一点

$ export PLACK_ENV=development
$ perl your_script.pl


我不确定我是否理解你的问题。您是否在询问是否可以不使用Perl设置环境变量?@HunterMcMillen是的。我不想接触perl代码,因为我有两组用于开发和部署的环境变量。因此,我不想在代码中包含“$ENV{PLACK_ENV}='development'”之类的内容。您可以在shell中轻松设置环境变量。在您的
.bashrc
.bash\u配置文件中
。谢谢@Taras,这当然有效,但如果我使用模块呢?比如说A.pm需要发展,B.pm需要A.pm。如果我以PLACK_ENV=development perl A.pm的形式运行A.pm,然后运行PLACK_ENV=development perl B.pm,B不会得到环境变量。对不起,B.pm会得到它们!哟!无论如何,如果您执行导出PLACK_ENV=development,则在当前shell中运行的所有脚本及其模块都将看到此ENV变量。如果不想每次导出此变量,可以将该行放到
~/.bashrc
中(如上所述)。
$ PLACK_ENV=development perl your_script.pl