NAME
   namespace - Perl pragma to use like C++ namespace aliasing

SYNOPSIS
    use namespace File => IO::File;

    my $fh = new File "foo", O_CREAT|O_WRONLY;
    if( defined $fh )
    {
        print $fh "bar\n";
        $fh->close;
    }

DESCRIPTION
   Allow aliasing namespace. May be useful for reusability increase.

    use namespace ALIAS => PACKAGE
       [, qw/IMPORT_LIST [ ::SUBPACKAGE [ IMPORT_LIST ]] /];

    ALIAS and PACKAGE is required parameters;
    IMPORT_LIST is the usual list of import.

   Also may be undefined namespace and they subnamespaces:

    no namespace ALIAS;

   If ALIAS begin with '::', then alias will be expandet to caller
   namespace. If following example of pragma namespace called from main::
   module, then alias will be expandet to main::ALIAS::.

    use namespace ::ALIAS => PACKAGE

EXAMPLES
    EXAMPLE 1

    use namespace DOM => XML::DOM, qw/$VERSION ::Document $VERSION/;

       # DOM is alias for XML::DOM
       #       $VERSION from XML::DOM will be imported to DOM
       #
       # ::Document subpackage of XML::DOM will be aliased to DOM::Document
       #       $VERSION from XML::DOM::Document will be imported to DOM::Document

    my $doc = new DOM::Document;
    print "Current used DOM version is $DOM::VERSION \n";

    no namespace DOM;

       # namespace DOM and all subnamespaces will be destroyed

    EXAMPLE 2

    use namespace DOM => XML::DOM, qw/::Document/;
    # or
    # use namespace DOM => XML::Sablotron::DOM, qw/:constants ::Document/;

    my $doc = new DOM::Document;
    print "Constant 'TEXT_NODE' = ", TEXT_NODE;

AUTHOR
   Albert MICHEEV <[email protected]>