Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Aliasing a package

by Superfox il Volpone (Sexton)
on Jan 25, 2014 at 10:01 UTC ( #1072049=perlquestion: print w/replies, xml ) Need Help??
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,

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::; }