NAME
ExportTo - export function/method to namespace
SYNOPSIS
package From;
sub function1{
# ...
}
sub function2{
# ...
}
sub function3{
# ...
}
use ExportTo (NameSpace1 => [qw/function1 function2/], NameSpace2 => [qw/function3/]);
# Now, function1 and function2 are exported to 'NameSpace1' namespace.
# function3 is exported to 'NameSpace2' namespace.
# If 'NameSpace1'/'NameSpace2' namespace has same name function/method,
# such a function/method is not exported and ExportTo croaks.
# but if you want to override, you can do it as following.
use ExportTo (NameSpace1 => qw/+function1 function2/);
# if adding + to function/method name,
# This override function/method which namespace already has with exported funtion/method.
use ExportTo ('+NameSpace' => qw/function1 function2/);
# if you add + to namespace name, all functions are exported even if namespace already has function/method.
DESCRIPTION
This module allow you to export/override subroutine/method to one namespace. It can be used for mix-in, for extension of modules not using inheritance.
FUNCTION/METHOD
- export_to
-
export_to(PACKAGE_NAME => [qw/FUNCTION_NAME/]); ExportTo->export_to(PACKAGE_NAME => [qw/FUNCTION_NAME/]);These are as same as following.
use ExportTo(PACKAGE_NAME => [qw/FUNCTION_NAME/]);But, 'use' is needed to declare after declaration of function/method. using 'export_to', you can write anywhere.
AUTHOR
Ktat, <atusi@pure.ne.jp>
COPYRIGHT
Copyright 2006 by Ktat
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See http://www.perl.com/perl/misc/Artistic.html