home *** CD-ROM | disk | FTP | other *** search
/ ftp.madoka.org / 2014.12.ftp.madoka.org.tar / ftp.madoka.org / pub / plum / 1.x / plum10.lzh / plum10 / dynaload.plm < prev    next >
Text File  |  1997-08-13  |  811b  |  32 lines

  1. package dynaload;
  2.  
  3. $_ = 'dynaload';
  4.  
  5. sub main_loop {
  6.   local($userno) = @_;
  7.   local($pkg, $sub, @names);
  8.   foreach $module (&'property($userno, 'module')) {
  9.     $modify{$module} = (stat($module))[9] unless $modify{$module};
  10.     next if $modify{$module} == (stat($module))[9];
  11.     $modify{$module} = (stat($module))[9];
  12.     $pkg = $'package{$module};
  13.     next if $pkg eq 'main';
  14.     next if $pkg eq 'dynaload';
  15.     delete $'package{$module};
  16.     $'modulelist = &'remove($'modulelist[$userno], $pkg);
  17.     if ($] < 5) {
  18.       eval "\@names = keys(\%_${pkg});";
  19.     } else {
  20.       eval "\@names = keys(\%${pkg}::);";
  21.     }
  22.     foreach $name (@names) {
  23.       $sub = "${pkg}'$name";
  24.       next unless defined(&$sub);
  25.       undef &$sub;
  26.     }
  27.     delete $INC{&'expand($module)};
  28.     &'import($userno, $module);
  29.   }
  30. }
  31.  
  32.