&status("Modules: Loaded/Total [$loaded/$total]");
}
-### rename to modulesReload?
-sub reloadModules {
-## my @check = map { $myModules{$_} } keys %myModules;
-## push(@check, map { substr($_,2) } keys %moduleAge);
- my @check = map { substr($_,2) } keys %moduleAge;
-
- &DEBUG("rM: moduleAge must be in src/BLAH format?");
- foreach (keys %moduleAge) {
- &DEBUG("rM: moduleAge{$_} => '...'.");
+### rename to moduleReloadAll?
+sub reloadAllModules {
+ &status("Modules: reloading all.");
+ foreach (map { substr($_,2) } keys %moduleAge) {
+ &reloadModule($_);
}
+ &status("Modules: reloading done.");
+}
- foreach (@check) {
- my $mod = $_;
- my $file = (grep /\/$mod/, keys %INC)[0];
+### rename to modulesReload?
+sub reloadModule {
+ my ($mod) = @_;
+ my $file = (grep /\/$mod/, keys %INC)[0];
- if (!defined $file) {
- &DEBUG("rM: mod '$mod' was not found in \%INC.");
- next;
- }
+ if (!defined $file) {
+ &DEBUG("rM: mod '$mod' was not found in \%INC.");
+ return;
+ }
- if (! -f $file) {
- &DEBUG("rM: file '$file' does not exist?");
- next;
- }
+ if (! -f $file) {
+ &DEBUG("rM: file '$file' does not exist?");
+ return;
+ }
- my $age = (stat $file)[9];
- next if ($age == $moduleAge{$file});
+ my $age = (stat $file)[9];
+ return if ($age == $moduleAge{$file});
- if (grep /$mod/, @myModulesReloadNot) {
- &DEBUG("rM: SHOULD NOT RELOAD $mod!!!");
- next;
- }
+ if (grep /$mod/, @myModulesReloadNot) {
+ &DEBUG("rM: SHOULD NOT RELOAD $mod!!!");
+ return;
+ }
- &DEBUG("rM: (loading) => '$mod' or ($_).");
- delete $INC{$file};
- eval "require \"$file\"";
- if (@$) {
- &DEBUG("rM: failure: @$");
- } else {
- &DEBUG("rM: good! (reloaded)");
- }
+ &status("Module: Loading $mod...");
+ delete $INC{$file};
+ eval "require \"$file\""; # require or use?
+ if (@$) {
+ &DEBUG("rM: failure: @$");
+ } else {
+ my $basename = $file;
+ $basename =~ s/^.*\///;
+ &status("Modules: reloaded $basename");
+ $moduleAge{$file} = $age;
}
- &DEBUG("rM: Done.");
}
###
return 0 if (exists $perlModulesMissing{$_[0]});
return 1 if (exists $perlModulesLoaded{$_[0]});
+ &DEBUG("lPM: _ => '$_[0]'.");
+ &reloadModule($_[0]);
+
eval "use $_[0]";
if ($@) {
&WARN("Module: $_[0] is not installed!");
if (!defined $tmp) {
&WARN("loadMyModule: module is NULL.");
return 0;
- } else {
- &DEBUG("lMM: arg = '$tmp'.");
}
my ($modulebase, $modulefile);
exit 1;
} else {
$moduleAge{$modulefile} = (stat $modulefile)[9];
- &DEBUG("lMM: setting moduleAge{$modulefile} = time();");
&status("myModule: Loaded $modulebase ...");
&showProc(" ($modulebase)");