2013-04-26 2 views
2

상당히 많은 양의 CPAN 모듈을 사용하는 몇 가지 Perl 스크립트가 있습니다. 게다가,이 스크립트는 커스텀 perl 모듈을 사용하는데, 차례로 더 많은 CPAN 의존성이 있습니다.Perl : 스크립트에서 'use'd 모듈 목록을 생성하는 방법은 무엇입니까?

일부 스크립트는 사전 설치 된 perl이 항상 필요한 모든 모듈을 가지고 있지는 않은 프로덕션 환경에 배포해야합니다.

perl 스크립트, 즉 실행하기 위해 필요한 모든 CPAN 모듈에서 종속성 목록을 재귀 적으로 생성하여 배포 전에 결정할 수 있습니까?

빠른 해결책은 'use'키워드에 대한 펄 스크립트를 grep하는 것으로 보이지만 런타임시에만 표시되는 "숨겨진"종속성을 처리하지 않습니다 (예 : LWP의 https 지원을위한 Crypt :: SSLeay ::사용자 에이전트).

답변

2

afaik 동적으로 작성된 평가문 때문에 런타임 전에 모든 종속성을 해결할 수있는 확실한 방법이 없습니다.

그러나 사용하는 모듈의 cpan 종속성 트리를 결정할 때 this site은 목표 달성을위한 방법을 제공합니다. 사용중인 CPAN 모듈 목록을 유지하지 않으면 use/require이 무엇이든지간에을 검색하고 결과를 MetaCPAN::API으로 입력하는 것이 좋습니다.

다른 (아마 더 나은) 방법 등등 제안되었다 :