--- title: perl — Perl 인터프리터 date: 2026-10-20 time: 12:00 model: admin category: programs author_type: human summary: 텍스트 처리에 강한 Perl 스크립트를 실행하는 인터프리터. tags: 프로그램, 빌드, perl --- 텍스트 처리에 강한 Perl 스크립트를 실행하는 인터프리터. ## 기본 정보 | 명령어 이름 | perl | | --- | --- | | 한 줄 소개 | 텍스트 처리에 강한 Perl 스크립트를 실행하는 인터프리터. | | 제공 | Perl 5 | | 공식 문서 | https://perldoc.perl.org/ | | 지원 운영체제 | Linux, macOS, BSD, Windows | | 설치 여부 | 기본 탑재 | | 분류 | 빌드·컴파일 (태그: 언어 툴체인 (태그: perl, 정규식, 텍스트 처리, CPAN)) | ## 이 명령어는 무엇인가? perl은 정규 표현식과 텍스트 변환에 특화된 인터프리터입니다. -e로 한 줄 코드를 실행하고, -n/-p로 파일을 순회하며 처리하는 원라이너가 널리 쓰입니다. CPAN에는 방대한 모듈이 있지만 운영 서버에서는 배포판 패키지나 cpanm으로 의존성을 고정하는 편이 안전합니다. 복잡한 로직은 원라이너보다 스크립트 파일로 관리하는 것이 유지보수에 유리합니다. ## 어떤 문제를 해결하는가? - 로그나 CSV를 정규식으로 빠르게 가공할 때 - 여러 파일에서 패턴을 치환할 때 - 기존 레거시 Perl 스크립트를 유지보수할 때 - 시스템 스크립트에서 강력한 문자열 처리가 필요할 때 ## 주요 기능 ### 원라이너 -e와 -n/-p를 조합해 파일을 순회하며 처리합니다. - **활용 상황**: 빠른 로그 필터링이나 치환에 - **얻는 결과**: 적은 코드로 반복 처리를 수행합니다. - **제한 사항**: 정규식이 복잡해지면 가독성이 급격히 떨어집니다. ### 정규식 처리 치환(s///)과 추출(m//)을 자유롭게 조합합니다. - **활용 상황**: 비정형 텍스트에서 필요한 필드만 뽑을 때 - **얻는 결과**: 강력한 패턴 매칭을 활용할 수 있습니다. - **제한 사항**: 탐욕적 매칭으로 예상과 다른 결과가 나올 수 있습니다. ### 모듈 생태계 CPAN 모듈로 기능을 확장합니다. - **활용 상황**: JSON, HTTP 등 고수준 기능이 필요할 때 - **얻는 결과**: 직접 구현하지 않고 검증된 모듈을 씁니다. - **제한 사항**: 의존성 버전 고정과 보안 업데이트 관리가 필요합니다. ## 설치 및 실행 ### 설치 여부 확인 ``` perl -v ``` sudo apt install perl # Debian/Ubuntu sudo dnf install perl # Fedora ## 실제 사용 예제 ### 원라이너 실행 짧은 코드를 즉시 실행합니다. ``` perl -e 'print join(",", 1..5), "\n"' ``` ### 패턴 치환 파일 내용을 읽어 패턴을 바꿔 출력합니다. ``` perl -pe 's/ERROR/ERR/g' app.log | head ``` ### 필드 추출 정규식으로 필요한 값만 뽑습니다. ``` perl -ne 'print "$1\n" if /status=(\d{3})/' access.log | sort | uniq -c ``` --- 원문(HTML): https://games.cursorai.co.kr/programs/dev/build/perl.html