perldoc on modules을 읽었으나 패키지 이름을 지정하는 권장 사항이 표시되지 않으므로 기본 또는 CPAN 모듈/패키지 이름과 충돌하지 않습니다. 과거 내장 또는 CPAN 패키지 이름과 충돌하지 않는 사용자 정의 Perl 모듈의 패키지 이름은 어떻게 선택합니까?
, 로컬 Session.pm 모듈을 개발, 나는 같은 내 회사의 이름을 사용하여 로컬 디렉토리를 만들었습니다package Company::Session;
... 그리고 Session.pm는 디렉토리에서 찾을 수 것 회사/.
하지만이 명명 규칙의 팬이 아닙니다. 차라리 패키지 계층 구조를 코드의 기능에 가깝게 지 으려고합니다. 그러나 그것이 CPAN에서 일반적으로 수행되는 방법입니다 ...
나는 근본적인 것이 빠져있는 것처럼 느낍니다. 또한 Damian의 Perl 모범 사례을 살펴 보았지만 올바른 장소를 조사하지 못했을 수도 있습니다 ...
패키지 네임 스페이스 충돌을 피하는 방법에 대한 권장 사항은 무엇입니까?
업데이트 w/관련 질문 : 이 패키지 이름 충돌이있는 경우, 어떻게 펄이 사용하는 하나를 선택 하는가? 모두에게 감사드립니다.
:
@INC
펄 컴파일시에 작성된 기본 값을 갖고 있지만,이BEGIN
블록의@INC
배열을 조작 직접적PERL5LIB
환경 변수로lib
pragma 그것을 변경할 수있다 바로 자바 네임 스페이스가 도메인 네임으로 끝나는 이유이다 (java 나 javax로 시작하는 내장 클래스 제외). .NET은이 같은 문제를 가지고 있지만 ... – Powerlord