Looking for a base module that can automatically load sub modules

Hi,

I am looking for a module, to make a base class module, that
automatically loads sub class modules.

Usually, to make a new Digest::MD5.pm module instance, you type

$inst = Digest::MD5->new( [at] args);

But, the Digest.pm module, let us type

$inst = Digest->MD5( [at] args);
$inst = Digest('MD5' => [at] args);

to do the same thing.

I want a module that can generate a module like Digest.pm.

I already made a module that can do it( let us call it
Class::AutoSubClass.pm), but there might be a similar module( but
scripted more elegantly ) in CPAN. Please tell me if there is.

The module I made( Class::AutoSubClass.pm )is below.

# Class/AutoSubClass.pm
package Class::AutoSubClass;

use strict;
use warnings;
use Carp;

sub new( [at] ){
shift;
my $sBaseName = shift;
my $sName = shift;
my $rhDefaultDats = shift || {};
return bless $rhDefaultDats if !defined $sName or $sName eq '';
my $sClassName = $sBaseName.'::'.$sName;
eval "require $sClassName";
die if $ [at] ;
no strict 'refs';
return $sClassName->new( [at] _);
}
1; # end Class/AutoSubClass.pm

And you use it like this.

# Wiki/Handler.pm
package Wiki::Handler;

use strict;
use warnings;
use Carp;

use Class::AutoSubClass;

sub new( [at] ){
shift;
return Class::AutoSubClass->new('Wiki::Handler',shift, [at] _);
}

1; # end Wiki/Handler.pm

By using this module, the new Wiki::Handler::HTMLFragment.pm object
can be generated like

$htmlf = Wiki::Handler->new('HTMLFragment');

Thanks.
Xor [ Mi, 27 Juni 2007 12:16 ] [ ID #1751649 ]

Re: Looking for a base module that can automatically load sub modules

xor wrote:
> Hi,
>
> I am looking for a module, to make a base class module, that
> automatically loads sub class modules.
>
> Usually, to make a new Digest::MD5.pm module instance, you type
>
> $inst = Digest::MD5->new( [at] args);
>
> But, the Digest.pm module, let us type
>
> $inst = Digest->MD5( [at] args);
> $inst = Digest('MD5' => [at] args);
>
<snip>
How about Module::Pluggable?

http://search.cpan.org/~simonw/Module-Pluggable-3.6/lib/Modu le/Pluggable.pm

Mark
Mark Clements [ Sa, 30 Juni 2007 14:58 ] [ ID #1756590 ]
Perl » comp.lang.perl.modules » Looking for a base module that can automatically load sub modules

Vorheriges Thema: Installing Newt
Nächstes Thema: GD::Graph with Image Map implementation question