use File::Spec::Functions qw(catdir splitdir canonpath); use FindBin qw($RealBin); use Config; BEGIN { # Find a KRANG_ROOT based on path to bin my @dir = splitdir(canonpath($RealBin)); $ENV{KRANG_ROOT} ||= catdir(@dir[0 .. $#dir - 1]); # use $KRANG_ROOT/lib for modules my $lib = catdir($ENV{KRANG_ROOT}, "lib"); $ENV{PERL5LIB} = $ENV{PERL5LIB} ? "$ENV{PERL5LIB}:${lib}" : $lib; unshift @INC, $lib, "$lib/".$Config{archname}; }