English

perl — Perl 인터프리터

개발 / 빌드 / perl.html

빌드원문등록 2026-10-20T09:00:00+09:00

텍스트 처리에 강한 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