sub require { my($filename) = @_; return 1 if $INC{$filename}; # <-- already loaded? # ... pull in the module $INC{$filename} = $realfilename; # <-- stop future reloads return $result; }