개요
리눅스 환경에서 Perl 모듈을 관리하는 표준 도구인 CPAN의 핵심 사용 패턴과 실무 팁을 정리합니다. 모듈 검색, 비대화형 설치, 사전 테스트 방법과 함께 시스템 패키지 충돌을 방지하는 안전한 격리 환경 구성법을 다룹니다.
CPAN 실행 환경 준비 및 버전 확인
Perl 모듈 컴파일과 설치 환경을 구축하기 위해 perl 인터프리터와 build-essential 패키지를 설치합니다.

cpan 명령어는 CPAN(Comprehensive Perl Archive Network) 저장소에서 Perl 모듈을 검색하고 설치 및 관리할 수 있도록 지원하는 도구입니다.cpan -v 명령어를 실행하여 설치된 CPAN 스크립트의 버전 정보를 확인합니다.
⚙️ [주요 옵션]
-i : 지정한 모듈을 다운로드하고 컴파일하여 설치합니다.-f : 테스트 실패 여부와 관계없이 모듈을 강제로 설치합니다.-t : 모듈을 실제로 설치하지 않고 빌드 및 테스트 과정만 수행합니다.-u : 시스템에 설치된 모든 Perl 모듈을 최신 버전으로 업그레이드합니다.-v : CPAN 스크립트와 모듈의 버전 정보를 출력합니다.

perl -v | head -n 4 명령어는 시스템에 설치된 Perl 인터프리터의 버전과 빌드 아키텍처 정보를 확인합니다.
실행 결과를 통해 Perl 5.38.2 버전이 정상적으로 감지되며 멀티스레드 환경으로 빌드되어 있음을 알 수 있습니다.

모듈 상세 정보 조회 및 설치 상태 점검
cpan -D Text::Wrap 명령어는 지정한 모듈의 세부 메타데이터와 현재 설치 상태를 조회합니다.
로컬 환경에 설치된 버전과 CPAN 저장소의 최신 버전, 모듈 관리자 정보를 비교하여 업데이트 필요 여부를 점검할 수 있습니다.

cpan -l | head -n 15 명령어는 시스템에 설치된 Perl 모듈 목록과 각 버전을 확인하고 상위 15개 항목을 출력합니다.
파이프와 head 명령어를 결합하여 대량의 모듈 목록 중 일부를 빠르게 점검할 수 있습니다.

사전 테스트 및 비대화형 모듈 설치
cpan -t Try::Tiny 명령어는 모듈을 실제로 시스템에 설치하지 않고 다운로드와 빌드 및 테스트 스위트만 안전하게 선행 실행합니다.
설치 전에 모듈의 테스트 통과 여부와 현재 시스템 환경과의 호환성을 사전에 검증할 수 있습니다.

PERL_MM_USE_DEFAULT=1 cpan -i Try::Tiny 명령어는 설치 과정 중 발생하는 대화형 질문에 자동으로 기본값을 선택하도록 환경변수를 적용하여 모듈을 설치합니다.
사용자 입력 대기로 인한 프로세스 멈춤을 방지하여 자동화 스크립트나 비대화형 설치 환경에서 안정적으로 모듈을 배포할 수 있습니다.

perl -MTry::Tiny -e 'print "Try::Tiny successfully loaded.\n"' 명령어는 -M 옵션으로 설치된 모듈을 불러온 뒤 한 줄 스크립트를 실행하여 모듈이 정상적으로 로드되는지 검증합니다.
지정한 문자열이 출력되는지 확인하여 Perl 인터프리터 런타임 환경에서 모듈 호출에 이상이 없음을 최종 확인합니다.

시스템 패키지 충돌 방지를 위한 local::lib 격리 환경 구성
사용자 홈 디렉터리 기반의 Perl 모듈 격리 환경을 구성하기 위해 sudo apt-get install -y liblocal-lib-perl 명령어로 관련 패키지를 설치합니다.

eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib) 명령어는 현재 셸 세션에 사용자 홈 디렉터리 기반의 모듈 경로 환경변수를 즉시 적용합니다.
루트 권한 없이도 모듈을 독립적으로 설치 및 관리할 수 있도록 PERL5LIB 및 관련 실행 경로를 초기화합니다.

새로운 터미널 세션에서도 격리 환경이 자동으로 유지되도록 echo 'eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)' >> ~/.bashrc 명령어를 실행하여 셸 설정 파일에 등록합니다.
이후 셸이 실행될 때마다 사용자 전용 Perl 라이브러리 경로가 자동으로 로드됩니다.

PERL_MM_USE_DEFAULT=1 cpan -i File::Slurper 명령어는 설치 중 발생하는 대화형 질문을 기본값으로 자동 승인하며 File::Slurper 모듈을 설치합니다.
앞서 구성한 local::lib 환경에 따라 시스템 디렉터리 오염 없이 사용자 홈 디렉터리 내부로 모듈이 안전하게 빌드 및 배치됩니다.

perldoc -l File::Slurper 명령어는 설치된 File::Slurper 모듈 파일의 실제 파일 시스템 경로를 출력합니다.
모듈이 시스템 전역 디렉터리가 아닌 사용자 홈 디렉터리(~/perl5) 하위에 정상적으로 위치하고 있는지 최종 검증할 수 있습니다.

지금까지 우분투 환경에서 Perl CPAN 모듈을 설치하는 다양한 패턴과 실무에서 마주칠 수 있는 주의점을 간단하게 정리해보았습니다.
운영 환경에 맞는 최적의 관리 방식을 적용하여 보다 안정적이고 효율적인 펄 개발 환경을 구축해 보시기 바랍니다.