나는 두 개의 모듈이 의존성의 해결 :펄 - 지정된 하위 디렉터리에서 모든 모듈을 사용하여 자동으로
./My/Module1
./My/Module2
Module1
하는 Module2
에서 서브 루틴을 사용합니다. 그래서 내 스크립트에서 나는 다음과 같은 입력 :
use My::Module1
use My::Module2
을하지만이 일을하지 않고 펄은 Module1
에 의해 Module2
에서 사용되는 서브 루틴이 존재하지 않는 것을 불평했다. 그래서 Module1
에 다음 줄을 추가 : 예상대로
use My::Module2
마지막으로이 일했다.
특정 하위 디렉토리 트리의 모든 모듈을 포함하고 자동으로 의존성을 해결할 수있는 솔루션이 있는지 궁금합니다. 다른 모듈에 의존하는 모듈에 use
키워드를 입력하고 싶지 않습니다. 다음 명령을 시도했지만 그것은 작동하지 않았다 (중 구문 오류가 있거나 잘못된 모듈 사용) : 또한 내가 물어 보곤
use My::;
use My::*;
use My;
을 경우이 교차 사용하여 모듈을하고 펄에서 좋은 연습으로 간주 서브 루틴의 호출 프로그램 작성?
추 신 : @INC
에는 모듈로드가 가능하도록 현재 디렉토리가 있습니다.
PPS : 모듈 내가 다른 모듈에 따라 모듈에서 use
키워드를 입력하지 않으
"이 교차 모듈을 사용하고 서브 루틴을 호출하는 것이 Perl 프로그래밍의 우수 사례로 간주 될지 물어볼 것입니다." ... 예, 단방향 (예 : Module1에만 Module2가 필요합니다. Module1을 Module2에 의존 시키면 __and__ Module2는 Module1에 의지하여 해결할 수없는 종속성을 갖게됩니다. – Leeft