The following module was proposed for inclusion in the Module List:
modid: Module::Split
DSLIP: Rdpfp
description: Split multi-class modules into subclasses
userid: BURAK (Burak G�rsoy)
chapterid: 2 (Perl_Core_Modules)
communities:
similar:
rationale:
Module::Split splits multi-class modules into its subclasses. Each
file and folders for subclass will be generated if necessary. This
can be good if you want to examine such huge modules like Perl::Tidy
for example. The module will remove any pod documentation in the
specified module before splitting.
Actually it searches for 'package' declarations and uses the data
under it as the class content untill it finds another 'package'
declaration. And then creates it as a module file. It removes any
pod data before parsing the module data to remove fake 'package'
declarations.
You can pass a file path or class name to the module function
module_split($module,$output_dir). If you pass a class name, it will
search @INC directories.
I've searched cpan but couldn't find a similar module and I'm not
sure about the "Name of the module" and "Module List Chapter" parts.
Suggestions are welcome.
Sample output with the debug enabled:
split_module("Module::Split","out") or die "Error:
$Module::Split::err";
----------------------------------------------> Module::Split v1.0
initialization complete Debugging enabled on Sun Aug 24 19:47:56
2003 Running under MSWin32 and Perl 5.008
Searching Perl include directories
File : C:\Perl\site\lib\Module\Split.pm Output dir: out
Start processing 'Split.pm'
Removing Pod (This can take a while)
Attempting to create dir : out\Module Attempting to create file:
out\Module\Split.pm Attempting to create file: out\RemovePod.pm
I have found these classes:
Module::Split RemovePod
<----------------------------------------------
enteredby: BURAK (Burak G�rsoy)
enteredon: Sun Aug 24 17:16:05 2003 GMT
The resulting entry would be:
Module::
::Split Rdpfp Split multi-class modules into subclasses BURAK
Thanks for registering,
--
The PAUSE
PS: The following links are only valid for module list maintainers:
Registration form with editing capabilities:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=d1400000_615e3934aaeecd65&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=d1400000_615e3934aaeecd65&SUBMIT_pause99_add_mod_insertit=1