Perl6:隐式和显式导入

sid*_*com 6 import perl6

是否有可能以这样的方式编写模块:当模块use没有显式导入时,所有子例程都被导入,当它是used时带有显式导入时,只有这些显式导入的子例程可用吗?

#!/usr/bin/env perl6
use v6;
use Bar::Foo;

# all subroutines are imported
sub-one();
sub-two();
sub-three();
Run Code Online (Sandbox Code Playgroud)
#!/usr/bin/env perl6
use v6;
use Bar::Foo :sub-one, :sub-two;

sub-one();
sub-two();
# sub-three not imported
Run Code Online (Sandbox Code Playgroud)

Chr*_*oph 9

:DEFAULT在导出时,为您的子设备提供特殊标签以及专用标签,例如

unit module Bar;
sub one is export(:DEFAULT, :one) { say "one" }
sub two is export(:DEFAULT, :two) { say "two" }
Run Code Online (Sandbox Code Playgroud)

现在,您可以使用普通纸导入所有这些use Bar,或者可以通过选择特定的use Bar :one;