你可以叫它
::bla( \@foo, \%bar );
在早期,我曾经将 util 函数放在一个Ut
包中。这很好,但我注意到我的代码并不像我想象的那样模块化。每个依赖函数的模块只有在有人不厌其烦地构建Ut
该命名空间时才能成功。
最后,我认为use
和require
语句只是记录依赖关系。有更灵活的方法可以更改库模块调用的代码,而不是更改它们在 main.js 中的实现。
例如,您可以在单个use
语句中执行此操作。
use Ut blah => sub {
use Carp;
use Data::Dumper;
carp Dumper @_;
};
并定义导入:
sub import {
shift; # It's just me
my ( $name, $impl ) = @_;
if ( $name eq 'blah' && ref( $impl ) eq 'CODE' ) {
*blah = $_[1];
}
...
}
ut
当我一次开发大量代码时,我仍然使用这种模式。但我不介意写
ut:dump_var( $var )
而不是保存 3-4 个字符(因为有时我称之为U::
)。
现在,您似乎不想长期这样做,并且转储变量对开发很有用。如果你真的想这样做,Smart::Comments
是不是这样:
### @foo
### %bar
只需要一份使用声明。
use Smart::Comments;