모듈이 해당 함수를 use
-ing 네임 스페이스로 내보낼 수있는 많은 방법이 있으므로 원하는 각 라이브러리를 구현하려면 코드 파기가 필요할 수 있습니다. 당신이 요구하는 것은 무스에만 국한된 것이 아니므로 귀하 또는 귀하의 회사 자체 베스트 프랙티스 모듈을 작성하여 함께 작업 할 수있는 표준 그룹을 구성 할 수 있습니다. 이 호출에서 사용 - 어의 패키지를 찾을 수에 의존()와 고토를 사용하기 때문에
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와
use OurCompany::BestPractices::V1;
상황이 조금 더 복잡하게,하지만 당신은 더 나은를 찾을 수 있습니다 더 많은 테스트가 필요합니다. 더 많이 구현할수록이 라이브러리는 더 복잡해 질 수 있지만 모든 회사 코드 또는 회사 코드에서 사용할 수있는 일회용 솔루션을 갖추려면 충분히 높은 가치가있을 수 있습니다.
좋은 예, 고마워요 – friedo
나는이 아이디어의 변형을 사용하여 결국. – friedo