Mini Shell
# define modules runtine quarantine configuration
$ENV{'MODULES_RUN_QUARANTINE'} = 'LD_LIBRARY_PATH LD_PRELOAD';
# setup quarantine if defined
my $_mlre = '';
if (defined $ENV{'MODULES_RUN_QUARANTINE'}) {
foreach my $_mlv (split(' ', $ENV{'MODULES_RUN_QUARANTINE'})) {
if ($_mlv =~ /^[A-Za-z_][A-Za-z0-9_]*$/) {
if (defined $ENV{$_mlv}) {
$_mlre .= "${_mlv}_modquar='$ENV{$_mlv}' ";
}
my $_mlrv = "MODULES_RUNENV_$_mlv";
$_mlre .= "$_mlv='$ENV{$_mlrv}' ";
}
}
if ($_mlre ne "") {
$_mlre = "env $_mlre";
}
}
eval `${_mlre}/usr/bin/tclsh /usr/share/Modules/libexec/modulecmd.tcl perl autoinit`;
# clean temp variable used to setup quarantine
undef $_mlre;
# redefine module command if compat version has been activated
if ($ENV{'MODULES_USE_COMPAT_VERSION'} eq '1') {
$ENV{'MODULES_CMD'} = '/usr/share/Modules/libexec/modulecmd-compat';
{ no warnings 'redefine';
*module = sub {
eval `/usr/share/Modules/libexec/modulecmd-compat perl @_`;
# return value as done on new main version
return 1;
};
}
}
1;
Zerion Mini Shell 1.0