Как вариант самодельной педали:
package ShortNamer;
no strict;
no warnings;
sub import {
my ($from, %opts) = @_;
my $original_import;
if (exists $opts{'-as'}) {
my $to = $opts{'-as'};
$original_import = $to->can('import');
foreach my $key (keys %{ $from . '::' }) {
*{$to . '::' . $key} = *{$from . '::' . $key};
}
}
if ($original_import) {
goto $original_import;
}
}
1;
Далее, используем его в MyCompany::MySchema::Sklad::Feature::SubFeatureClass
(через одно место, конечно, но чтоб ничего не сломать, и чтоб работало, пишем
последним в списке require):
package MyCompany::MySchema::Sklad::Feature::SubFeatureClass;
...
require ShortNamer;
ShortNamer->import(-as => __PACKAGE__);
...
1;
Ну и далее по месту использования:
use ShortNamer;
use MyCompany::MySchema::Sklad::Feature::SubFeatureClass -as => 'Feature';
my $feature_obj1 = Feature->new;
my $feature_obj2 = Feature->new;
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org