################################################################################
sub import {
my ($dummy, $root, $package, $preconf) = @_;
$Eludia::last_loaded_package = $package;
ref $root eq ARRAY or $root = [$root];
$root -> [0] =~ /[A-Z0-9_]+$/;
my $old_package = $&;
eval "use lib '$$root[0]'";
if ($old_package ne $package) {
${$package . '::_OLD_PACKAGE'} = $old_package;
}
${$package . '::_NEW_PACKAGE'} = $package;
${$package . '::_PACKAGE'} = $package . '::';
${$package . '::PACKAGE_ROOT'} = $root;
${$package . '::preconf'} = $preconf;
my $path = __FILE__;
$path =~ s{Loader.pm}{GenericApplication};
unshift @$root, $path;
eval "package $package; require Eludia;";
print STDERR $@ if $@;
}
1;