モジュールがその関数を -ing 名前空間にエクスポートする方法は多数あるuse
ため、目的のライブラリをそれぞれ実装するためにコードを掘り下げる必要がある場合があります。あなたが求めているのは Moose に固有のものではないので、あなたやあなたの会社独自のベスト プラクティス モジュールを作成して、作業するための標準のグループを設定することができます。
use OurCompany::BestPractices::V1;
と
package OurCompany::BestPractices::V1;
use strict;
use warnings;
use feature (':5.10');
require Fatal;
require Moose;
# Required for straight implementation of autodie code
our @ISA;
push @ISA, qw(
Fatal
);
sub import {
my $caller = caller;
strict->import;
warnings->import;
feature->import( ':5.10' );
Moose->import ({into => $caller});
#autodie implementation copied from autodie source
splice(@_,1,0,Fatal::LEXICAL_TAG);
goto &Fatal::import;
}
1;
Autodie は caller() からユーザーのパッケージを見つけることに依存し、goto を使用するため、少し複雑になりますが、より多くのテストを行うことでより良い方法を見つけることができるかもしれません。実装すればするほど、このライブラリは複雑になる可能性がありますが、すべてのコードまたは会社のコード内で使用できる 1 回限りのソリューションを得るには十分な価値があるかもしれません。