GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  MODULE::REFRESH (3)

.ds Aq ’

NAME

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

CONTENTS

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 <B>andB> changed on disk between the previous call and this one, it will <B>notB> 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 CW$module

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

refresh_module CW$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 CW$module

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

mtime CW$file

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

update_cache CW$file

Updates the cached last modified time for $file.

unload_subs CW$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>

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 MODULE::REFRESH (3) 2011-10-26

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.