codeacrobat has asked for the wisdom of the Perl Monks concerning the following question:

Hello monks.

What is the best way to install a module with an optional alias? One example I know is Data::Dump::Streamer beeing aliased to DDS. A problem is that DDS is using EUMM, which I am told is not sexy. I prefer using Module::Build. Do you know any similar aliasing stuff for MB?

The background is, I frequently use a ToolSet for one-liners, which I simply use via perl -My -e 'say sum 1..10' The y ToolSet provides fast access to any OO module by exporting Class::Autouse => ":superloader", some autouses for List::* extended builtins (thanx for ToolSet v1.00 making this possible) and some Package::Aliased long Modules.

Ok, back to the question. What I want is to configure Build.PL to optionally install the module ToolSet::y with the alias "y". I personally believe a well behaved (not living in the root namespace) one-liner ToolSet would be nice to have on CPAN.


print+qq(\L@{[ref\&@]}@{['@'x7^'!#2/"!4']});

Replies are listed 'Best First'.
Re: Install module with package alias
by Anonymous Monk on Apr 03, 2009 at 01:23 UTC
    Modifying http://cpansearch.perl.org/src/YVES/Data-Dump-Streamer-2.09/Makefile.PL to work with Module::Build should be a short afair. Instead of polluting root namespace (DDS), a better idea would be to reserve 's' namespace for aliases, so you'd have s::DDS, ... better still would be to turn it into a module, ex
    use ExtUtils::CreateAlias; ExtUtils::CreateAlias::optional( 'Data::Dump::Streamer' => 'DDS' , #creates lib/s/DDS.pm ); ExtUtils::CreateAlias::optional( 'ExtUtils::CreateAlias' #creates lib/s/EUCA.pm );