펄
인터프리트 방식의 프로그래밍 언어 / From Wikipedia, the free encyclopedia
펄(영어: Perl)은 래리 월이 만든 인터프리터 방식의 프로그래밍 언어 혹은 그 인터프리터 소프트웨어를 가리킨다. 펄은 고급 언어, 범용 언어, 인터프리터 언어, 동적 언어 범주에 속한다. 펄은 일반적으로 펄 5로 부르지만 2000년부터 2019년까지 자매 언어 펄 6으로 불리다가 2019년 10월 들어 펄 6라는 이름은 라쿠라는 이름으로 공식적으로 변경되었다.[8][9]
패러다임 | 다중 패러다임: 함수형, 명령형, 객체 지향(클래스 기반), 반영 |
---|---|
설계자 | 래리 월 |
발표일 | 1987년 12월 18일(36년 전)(1987-12-18)[1] |
최근 버전 | |
미리보기 버전 | 5.39.10[4] / 2024년 4월 27일(2개월 전)(2024-04-27) |
자료형 체계 | 동적 타이핑 |
운영 체제 | 크로스 플랫폼 |
라이선스 | 아티스틱 라이선스 1.0[5][6], GNU GPL[7] |
파일 확장자 | .plx, .pl, .pm, .xs, .t, .pod, .cgi |
웹사이트 | perl.org |
영향을 받은 언어 | |
AWK, 스몰토크 80, 리스프, C, C++, sed, 유닉스 셸, 파스칼 | |
영향을 준 언어 | |
파이썬, PHP, 루비, ECMAScript/자바스크립트, LPC, 윈도우 파워셸, 팰컨, 펄 6, 코어(Qore), 줄리아 |
래리 월이 1987년 펄을 처음 만든 후, 펄은 많은 변화를 겪었다. 펄 6은 2000년부터 펄을 다시 설계하면서 개발되기 시작했고, 펄 5와는 독립적으로 개발되었고 서로 영향을 미쳤다.
펄 언어는 실용성을 모토로 하고 있어 C나 sed, AWK, 셸 스크립트 (sh) 등 다른 프로그래밍 언어에서 뛰어난 기능을 많이 도입하여 사용하고 있다.[1] 동시대의 유닉스 명령 도구들이 지닌 불특정한 데이터 길이의 제약 없이 강력한 문자열 처리 기능을 제공하며[10] 이를 통해 텍스트 파일의 조작을 용이하게 만들어 준다. 펄 5는 부분적인 이유로는 타의 추종을 불허하는[11][12][13] 정규 표현식, 문자열 구문 분석 기능 덕분에 1990년대 말 들어 인기를 끌기 시작했다.[14]
CGI뿐 아니라 펄 5는 그래픽스 프로그래밍, 시스템 관리, 네트워크 프로그래밍, 금융, 생물정보학 등에도 사용된다. 언어의 유연성과 강력함으로 인해 "스크립트 언어들 중의 스위스 군용 사슬톱"(the Swiss Army chainsaw of scripting languages)이라는 별명을 얻었다.[15] 인터프리터 펄은 자유 소프트웨어이며, 아티스틱 라이선스 또는 GPL으로 배포되고 있어 사용자는 둘 가운데 하나의 라이선스를 골라 쓸 수 있다. 유닉스를 비롯해 다양한 플랫폼에서 동작한다.
펄은 매우 표현 능력이 좋은 프로그래밍 언어이기 때문에 주어진 알고리즘의 소스 코드는 짧으면서도 매우 압축적으로 작성할 수 있다.[16][17]