Записи по тегу "Perl"

| перейти в дневник

Самоинициализация окружения в Perl

В оригинале - мой ответ на вопрос на Stack Overflow. В общем идея в том, что надо запустить себя в потомке после инициализации в нем окружения. Да, тот редкий случай, когда exec используется по назначению :)

use Cwd 'abs_path'; use File::Basename; my $self = abs_path($0); my $bindir = dirname( abs_path($0) ); unless ($ENV{APP_ENV}) { warn "No APP_ENV, will try to get from bin/env.sh"; exec("source $bindir/env.sh && /usr/bin/perl $self") || die "$!"; }
I have env.sh in my bin folder with following content:

export APP_ENV=development

The idea behind this approach is that I don't need to bother if I set my ENV variables before running my Perl code or forget to do it. I need just to run my Perl program and it will take care about preparing environment for itself.