namespace::clean

namespace::clean这个指令将会在当前包编译完成后清除之前声明的或导入的方法。

当前包自己声明的方法在自己内部可以用,但是这个包所生成的类或实例无法使用。

no namespace::clean;后声明的方法,在下次use namespace::clean;后被清除。

可以使用-except来告诉namespace::clean你不想清除的方法,如果你想-except一个方法,可以直接传入方法名,如果你想-except多个方法,你需要使用数组引用。

例子:

package Foo;
use Moose;
use namespace::clean -except => 'meta';
use namespace::clean -except => [qw( method1 method2 )];

Perl

这篇文章: 有用 无用
创建 2012-01-04 10:51:42 / 更新 2013-03-23 08:30:34