http://www.perlmonks.org?node_id=1072049

Superfox il Volpone has asked for the wisdom of the Perl Monks concerning the following question:

Hi there,
Is there a way to alias or obtain a shortcut to refer to a package ?

for instance:
use common::system::utilities::Logger; Logger::print("stuff");
or, a la c++:
namespace Logger = common::system::utilities::Logger;
Thanks in advance

Kind regards,
s.fox

Replies are listed 'Best First'.
Re: Aliasing a package
by Anonymous Monk on Jan 25, 2014 at 10:11 UTC

    Usually you create an object

    my $logger = common::system::utilities::Logger->new; $logger->print( ... );

    or a subroutine  sub LOG { &common::system::utilities::Logger::print }

    but you can do "aliases" with Package::Alias  use Package::Alias Logger => 'common::system::utilities::Logger' ;

    or do it yourself

    BEGIN{ use common::system::utilities::Logger; *Logger:: = *common::system::utilities::Logger::; }