Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Module::Refresh(3)    User Contributed Perl Documentation   Module::Refresh(3)

NAME
       Module::Refresh - Refresh %INC files when updated on disk

SYNOPSIS
	   # During each request, call this once to refresh changed modules:

	   Module::Refresh->refresh;

	   # Each night	at midnight, you automatically download	the latest
	   # Acme::Current from	CPAN.  Use this	snippet	to make	your running
	   # program pick it up	off disk:

	   $refresher->refresh_module('Acme/Current.pm');

DESCRIPTION
       This module is a	generalization of the functionality provided by
       Apache::StatINC and Apache::Reload.  It's designed to make it easy to
       do simple iterative development when working in a persistent
       environment.

       It does not require mod_perl.

   new
       Initialize the module refresher.

   refresh
       Refresh all modules that	have mtimes on disk newer than the newest ones
       we've got.  Calls "new" to initialize the cache if it had not yet been
       called.

       Specifically, it	will renew any module that was loaded before the
       previous	call to	"refresh" (or "new") and has changed on	disk since
       then.  If a module was both loaded for the first	time and changed on
       disk between the	previous call and this one, it will not	be reloaded by
       this call (or any future	one); you will need to update the modification
       time again (by using the	Unix "touch" command or	making a change	to it)
       in order	for it to be reloaded.

   refresh_module_if_modified $module
       If $module has been modified on disk, refresh it. Otherwise, do nothing

   refresh_module $module
       Refresh a module.  It doesn't matter if it's already up to date.	 Just
       do it.

       Note that it only accepts module	names like "Foo/Bar.pm", not
       "Foo::Bar".

   unload_module $module
       Remove a	module from %INC, and remove all subroutines defined in	it.

   mtime $file
       Get the last modified time of $file in seconds since the	epoch;

   update_cache	$file
       Updates the cached "last	modified" time for $file.

   unload_subs $file
       Wipe out	subs defined in	$file.

BUGS
       When we walk the	symbol table to	whack reloaded subroutines, we don't
       have a good way to invalidate the symbol	table properly,	so we mess up
       on things like global variables that were previously set.

SEE ALSO
       Apache::StatINC,	Module::Reload

COPYRIGHT
       Copyright 2004,2011 by Jesse Vincent <jesse@bestpractical.com>, Audrey
       Tang <audreyt@audreyt.org>

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

       See <http://www.perl.com/perl/misc/Artistic.html>

perl v5.32.1			  2011-10-26		    Module::Refresh(3)

NAME | SYNOPSIS | DESCRIPTION | BUGS | SEE ALSO | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Module::Refresh&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help