NAME

hubsplit - Hub Variation of AutoSplit

SYNOPSIS

Hub modules are split using the #!BulkSplit and #!AutoSplit directives.

DESCRIPTION

#!BulkSplit

BulkSplit splits the module into two pieces, considered the HEADER and the CONTENT on the line where #!BulkSplit appears. The intention is to delay loading the content of a module until it is needed, but don't split up every function. This is useful for optimizing modules which are used less frequently, but when they are you might as well load the whole thing because you're going to need it.

Everything before the BulkSplit directive is the HEADER, and placed in the normal .pm library file. Everything below the directive is the CONTENT, and placed in the auto/module_path/Module.al file. Also, the auto/module_path/Module.ix is created.

Inserts method AUTOLOAD into the actual .pm file.

Inserts a method with the same name as the package into the .al file:

package My::Helper::Module;

Would have a routine:

sub Module {
}

inserted into auto/My/Helper/Module/Module.al.

#!AutoSplit

The AutoSplit directive also divides the file into HEADER and CONTENT. But this time the content is also placed in the normal .pm file, just that it goes below the __END__ maker like it's suppose to. This short cut to AutoSplit lets the code reside in it's "normal" place, instead of below the __END__ marker. In my version of Vim, everything after __END__ is color-coded like a comment, so this helps me :)

AUTHOR

Ryan Gies

COPYRIGHT

Copyright (c) 2006 Livesite Networks, LLC. All rights reserved.

Copyright (c) 2000-2005 Ryan Gies. All rights reserved.

UPDATED

This file created by <#sys/proc/zname> on <#dt(nozeros,notime);sys/proc/tstamp> at <#dt(ampm,nosec,nozeros,nodate);sys/proc/tstamp>