맨위로가기

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

펄은 래리 월이 개발한 다목적 프로그래밍 언어이다. 1987년 펄 1.0이 처음 공개되었으며, 텍스트 조작에 강점을 가진다. 펄은 여러 번의 주요 버전 업데이트를 거치며 객체 지향 프로그래밍, 유니코드 지원 등 다양한 기능을 추가했다. 펄 5는 현재 널리 사용되는 버전이며, 2020년에는 펄 5의 연장선상에 있는 펄 7이 발표되었다. 펄은 CGI 스크립트 작성, 웹 개발, 시스템 관리 등 다양한 분야에 사용되며, CPAN을 통해 방대한 모듈 생태계를 제공한다. 펄 커뮤니티는 활발하게 활동하며, CPAN, Perl Mongers, PerlMonks 등의 조직과 IRC 채널을 통해 지원을 제공한다.

더 읽어볼만한 페이지

  • 아티스틱 라이선스 소프트웨어 - Npm (소프트웨어)
    npm은 자바스크립트 패키지 관리자이며, 프로젝트 종속성 관리를 위해 명령줄 인터페이스를 제공하고, npm 레지스트리를 통해 다양한 자바스크립트 모듈을 제공하지만 보안 문제와 삭제 사건으로 논란이 있었다.
  • 아티스틱 라이선스 소프트웨어 - 패럿 가상 머신
    패럿 가상 머신은 다양한 프로그래밍 언어의 실행 지원 및 언어 간 상호 운용성을 목표로 설계되었으며, 레지스터 기반 구조, 함수형 프로그래밍 기능, 파서 문법 엔진을 포함한 컴파일러 작성 도구 모음을 제공한다.
  • 1987년 개발된 프로그래밍 언어 - 스컴
    SCUMM은 론 길버트가 루카스아츠 어드벤처 게임 개발을 위해 1987년에 만든 스크립팅 엔진으로, 동사-객체 인터페이스를 특징으로 하며, 여러 루카스아츠 어드벤처 게임과 휴몽거스 엔터테인먼트의 어린이용 게임 개발에 사용되어 다양한 재구현과 도구 개발을 촉진했다.
  • 1987년 개발된 프로그래밍 언어 - 셀프 (프로그래밍 언어)
    셀프는 데이비드 웅가와 랜들 스미스가 설계한 프로토타입 기반 객체 지향 프로그래밍 언어로, 객체 복사 및 수정 방식으로 객체를 생성하고 위임 메커니즘을 통해 상속을 구현하며, 높은 성능을 제공한다.
  • 동적 프로그래밍 언어 - PHP
    PHP는 라스무스 러도프가 개발한 범용 스크립팅 언어로, 웹 개발에 널리 사용되며 LAMP 아키텍처의 핵심 요소이다.
  • 동적 프로그래밍 언어 - 줄리아 (프로그래밍 언어)
    줄리아는 2012년에 공개된 고수준 프로그래밍 언어로, 다중 디스패치, 동적 타입 시스템, C와 유사한 성능을 제공하며, 수치 계산, 과학 기술 계산 등에 활용된다.
펄 - [IT 관련 정보]에 관한 문서
기본 정보
펄 로고
펄 로고
이름
로마자 표기Peol
개발자래리 월
첫 공개1987년 12월 18일
최신 안정화 버전5.40.0 / 2024년 6월 9일
5.38.2 / 2023년 11월 29일
최신 미리보기 버전5.41.3 / 2024년 8월 29일
프로그래밍 패러다임다중 패러다임
형 체계동적 타이핑
영향을 받은 언어AWK
BASIC
C
C++
Lisp
sed
유닉스 셸
영향을 준 언어CoffeeScript
Groovy
JavaScript
Julia
LPC
PHP
Python
Raku
Ruby
PowerShell
구현 언어C
운영 체제크로스 플랫폼
라이선스아티스틱 1.0
GNU 일반 공중 사용 허가서 버전 1 이상
웹사이트perl.org
파일 확장자.plx, .pls, .pl, .pm, .xs, .t, .pod, .cgi, .psgi
언어 분류
분류스크립트 언어
상세 정보
특징강력한 텍스트 처리 능력
용도패턴 매칭
텍스트 처리
시스템 관리
웹 개발
설계 철학실용적인 문제 해결 중심
언어 계열펄은 언어 계열이며, '펄 6'은 계열의 일부이지만 자체 개발팀을 가진 별도의 언어입니다. '펄 6'의 존재가 '펄 5'의 지속적인 개발에 미치는 영향은 없습니다. 펄 6은 현재 Raku로 이름이 변경되었습니다.
언어 평가펄의 가장 강력한 장점은 텍스트, 라인 지향 데이터 포맷의 패턴 기반 처리에 대한 강력한 내장 기능입니다.
사용 예시RSA 암호화 (3줄)

2. 역사

펄은 1987년 래리 월에 의해 처음 개발되었으며, 이후 지속적인 발전을 거쳐 현재에 이르고 있다.

래리 월(Larry Wall)은 1987년 유니시스(Unisys)의 프로그래머로 재직 중에 펄 개발을 시작했고,[12] 같은 해 12월 18일에 1.0 버전을 공개했다.[11][29] 1988년 6월에 공개된 펄 2[30][31]는 향상된 정규 표현식 엔진을 특징으로 했으며, 1989년 10월에 공개된 펄 3[30]는 바이너리 데이터 스트림 지원을 추가했다.[32]

초기 펄에 대한 유일한 문서는 매우 긴 매뉴얼 페이지 하나뿐이었다. 1991년, "낙타 책"으로 알려진 ''Programming Perl''이 출판되어 사실상 펄 언어의 참고 자료가 되었다.[33] 이와 함께 펄 버전 번호가 4로 올라갔는데, 이는 언어의 주요 변경 사항을 표시하기 위한 것이 아니라 책에서 잘 설명된 버전을 식별하기 위한 것이었다.[34] 펄 4는 1991년 3월에 출시되었다.

펄 4는 일련의 유지 보수 릴리스를 거쳐 1993년 Perl 4.036에 이르렀고, 래리 월은 펄 4를 포기하고 펄 5 작업을 시작했다. 펄 5의 초기 설계는 1994년까지 계속되었다. ''perl5-porters'' 메일링 리스트는 1994년 5월에 펄 5를 다양한 플랫폼으로 이식하는 작업을 조정하기 위해 설립되었고, 펄 5의 개발, 유지 관리 및 이식을 위한 주요 포럼으로 남아 있다.[35]

펄 5.000은 1994년 10월 17일에 출시되었다.[36] 이는 인터프리터를 거의 완전히 재작성한 것이었으며, 객체, 참조, 렉시컬(my) 변수, 모듈 등 언어에 많은 새로운 기능을 추가했다.

펄 5 역사상 가장 중요한 사건 중 하나는 1995년 10월 26일, 포괄적 Perl 아카이브 네트워크(CPAN)가 Perl 언어 및 Perl 모듈을 위한 저장소로 설립된 것이다.[38]

펄 5.004는 1997년 5월 15일에 출시되었으며, 모든 클래스가 자동으로 파생되는 기본 객체와 모듈 버전을 요구하는 기능을 제공했다. CGI.pm 모듈 포함은[39] 펄이 CGI 스크립팅 언어로 인기를 얻는 데 기여했다.[40]

펄 5.6은 2000년 3월 22일에 출시되었다. 주요 변경 사항으로는 64비트 지원, 유니코드 문자열 표현, 2GiB 초과 파일 지원, "our" 키워드 포함 등이 있다.[43][44]

2000년에 래리 월은 커뮤니티로부터 새로운 펄 버전에 대한 제안을 요청했고, 펄 6 개발 지침으로 사용될 361개의 RFC(요청 사항) 문서가 생성되었다. 2001년[46]에 펄 6을 위한 "묵시록(Apocalypses)" 작업이 시작되었다.

펄 5.8은 2002년 7월 18일에 처음 출시되었으며, 이후 매년 5.X 버전이 출시되었다. 펄 5.8은 유니코드 지원, 새로운 I/O 및 스레드 구현, 숫자 정확도를 개선하고, 여러 새로운 모듈을 추가했다.[47]

2004년에는 "개요(Synopses)" 작업이 시작되었다. 이 문서는 묵시록을 요약한 것이었지만, 펄 6 언어에 대한 명세가 되었다. 2005년 2월, 오드리 탕은 Haskell로 작성된 Perl 6 인터프리터인 Pugs 작업을 시작했다.[48]

Perl On New Internal Engine (PONIE) 프로젝트는 2003년부터 2006년까지 존재했다. 이는 펄 5와 6 사이의 가교 역할을 하고, 펄 6 Parrot 가상 머신에서 실행되도록 펄 5 인터프리터를 다시 작성하려는 노력이었다.[50]

2007년 12월 18일, 펄 1.0 20주년을 기념하여 펄 5.10.0이 출시되었다. 펄 5.10.0에는 switch 문("given"/"when"), 정규 표현식 업데이트, ''스마트 매치 연산자''(~~) 등 펄 6에 더 가까워지게 하는 주목할 만한 새로운 기능이 포함되어 있다.[52][53]

펄 5.11에서 개발 커뮤니티는 매월 개발 릴리스를 제공하고 매년 안정적인 릴리스를 제공하는 일정을 채택했다.

펄 5.12.0은 2010년 4월 12일에 출시되었다. 새로운 `package NAME VERSION` 구문, yada yada 연산자, 암시적 , Y2038 문제 준수, 정규식 변환 오버로딩, DTrace 지원, 유니코드 5.2 등이 주목할 만한 핵심 개선 사항이다.[54]

펄 5.14(2011년 5월 14일)는 내장된 JSON 지원,[55] 펄 5.16(2012년 5월 20일)은 특정 버전의 펄을 에뮬레이트하는 기능,[56] 펄 5.18(2013년 5월 18일)은 새로운 dtrace 후크, 어휘적 하위 함수, 보안상 해시 개편, 유니코드 6.2 지원,[57] 펄 5.20(2014년 5월 27일)은 서브루틴 시그니처, 해시 슬라이스/새 슬라이스 구문, 후위 역참조(실험적), 유니코드 6.3, 일관된 난수 생성기를 사용하는 함수를 포함한다.[58]

Perl의 역사
내용
1.01987년 12월 18일
2.01988년 6월 5일
3.01989년 10월 18일
4.01991년 3월 21일
5.01994년 10월 17일
5.5.01998년 7월 22일
5.6.02000년 5월 22일
5.8.02002년 7월 18일
5.10.02007년 12월 18일
5.12.02010년 4월 13일
5.14.02011년 5월 14일
5.16.02012년 5월 20일
5.18.02013년 5월 18일
5.20.02014년 5월 27일
5.22.02015년 6월 1일
5.24.02016년 5월 9일
5.26.02017년 5월 30일
5.28.02018년 6월 22일
5.30.02019년 5월 22일
5.32.02020년 6월 20일
5.34.02021년 5월 20일
5.36.02022년 5월 28일
5.38.02023년 7월 2일
5.40.02024년 6월 9일


2. 1. 초기 버전 (1987-1989)

래리 월유니시스에서 프로그래머로 일하던 1987년 펄에 대한 작업을 시작하였으며,[166] 1987년 12월 18일 펄 1.0을 comp.sources.misc 뉴스그룹에 공개하였다.[170] 1988년에는 개선된 정규 표현식 엔진을 포함한 펄 2가 공개되었고, 1989년에는 이진 데이터 스트림 지원을 추가한 펄 3가 공개되었다.

2. 2. 펄 4 (1991-1993)

1991년에 《프로그래밍 펄》 (낙타책)이 출판되면서 펄 4가 공개되었다. 이 책은 펄의 사실상의 참고 문헌이 되었다.[33] 펄 4는 1991년 3월에 출시되었다. 이후 펄 4는 유지 보수 릴리스를 거쳐 1993년 펄 4.036까지 출시되었다.[34]

2. 3. 펄 5 (1994-현재)

펄 5.000은 1994년 10월 17일에 공개되었다.[172] 인터프리터는 대부분 완전히 다시 작성되었으며, 객체, 참조, 렉시컬(my) 변수, 모듈과 같은 새로운 기능들이 추가되었다. 특히 중요한 점은 모듈이 인터프리터를 수정하지 않고도 언어를 확장할 수 있는 메커니즘을 제공하여, 펄 프로그래머들이 새로운 기능을 추가하더라도 코어 인터프리터는 안정적으로 동작할 수 있게 되었다는 것이다.

1995년 10월 26일에는 펄과 펄 모듈들을 저장하고 관리하는 저장소인 CPAN이 개설되었다.[173]

펄 5.6은 2000년 3월 22일에 공개되었다. 주요 변경 사항으로는 64비트 지원, 유니코드 문자열 표현, 2GiB 이상의 대용량 파일 지원, "our" 키워드 추가 등이 있었다.[178][179] 펄 5.6 개발 당시에는 버전 작성 스킴을 전환하여 개발판에는 홀수, 안정판에는 짝수를 붙이기로 계획하였다.

2000년에는 펄 커뮤니티에서 새로운 버전의 펄에 대한 제안을 받아 361개의 RFC 문서가 생성되었고, 이는 펄 6 개발의 지침으로 사용되었다. 2001년에는 펄 6의 계시록 작업이 시작되었으나, 이 시점에서 펄 6는 언어의 설명으로만 존재했다.[180]

펄 5.8은 2002년 7월 18일에 공개된 이후 거의 매년 업데이트되었다. 이 버전은 유니코드 지원 개선, 새로운 입출력 및 스레드 구현, 수치 정확도 개선, 새로운 모듈 추가 등을 특징으로 한다.[181] 2013년 기준으로 펄 5.8은 가장 대중적인 버전으로, 여러 운영 체제에서 사용되고 있다.

펄 5.10.0은 2007년 12월 18일에 공개되었으며, 펄 1.0 공개 20주년을 기념하는 버전이다. 이 버전에는 펄 6에 가까운 새로운 기능들이 포함되었는데, switch 문(given / when), 정규 표현식 업데이트, 스마트 매치 연산자 "~~" 등이 추가되었다.[182][183]

2010년 이후 펄 5는 매년 새로운 버전을 출시하며 꾸준히 발전해왔다. 주요 버전별 변경 사항은 다음과 같다.

  • 펄 5.12.0 (2010년 4월 12일): 새로운 `package NAME VERSION` 문법, 야다 야다 연산자, 암묵적 제한, 2038년 문제 대응, DTrace 지원, 유니코드 5.2 지원.[184]
  • 펄 5.14 (2011년 5월 14일): JSON 지원이 기본 내장.[55]
  • 펄 5.16 (2012년 5월 20일): 사용자가 지정한 펄 버전을 에뮬레이트하는 기능, 유니코드 6.1 지원.[186]
  • 펄 5.18 (2013년 5월 18일): 새로운 dtrace 후킹, 렉시컬 함수, 보안 관련 해시 점검, 유니코드 6.2 지원.[187]
  • 펄 5.20 (2014년 5월 27일): 서브루틴 서명, 해시 슬라이스, 후위 역참조 (실험적 기능), 유니코드 6.3, 일관된 난수 발생기를 사용하는 rand() 등.[188]


2020년 6월 24일, 펄 7이 펄 5의 연장선으로 발표되었다.[219][220] 그러나 이후 계획이 변경되어, 펄 7은 개발자들이 주요 버전 업그레이드를 정당화할 만큼 충분한 기능을 추가할 때만 출시될 예정이다.[83]

2. 4. 라쿠 (이전의 펄 6)



2000년 펄 콘퍼런스에서 존 오원트(Jon Orwant)는 새로운 주된 언어 발의를 제안했고,[217] 이를 통해 펄 6이라는 이름으로 언어 재설계에 착수하기로 결정되었다. 펄 커뮤니티로부터 새로운 언어 기능들에 대한 제안들이 제기되었는데 그 RFC 수는 300개 이상이었다.

펄 6는 하위 호환성을 고려하지는 않지만 호환성 모드는 존재한다. 펄 6와 펄 5는 공통 계통을 지니면서도 서로 구별되는 언어이다.[218]

2019년 10월, 펄 6은 라쿠(Raku)로 이름이 변경되었다.[77]

3. 특징

펄은 C 언어의 구조를 바탕으로 만들어졌다. 변수, , 대입문, 중괄호(블록) , 제어 구조, 서브루틴을 사용하는 절차적 프로그래밍 언어이다.[91]

펄은 셸 프로그래밍의 기능도 일부 가져왔다. 모든 변수는 시길이라는 특수 기호($, %, @ 등)로 시작하며, 이를 통해 변수를 문자열 안에 직접 사용할 수 있다. 그러나 셸과는 달리 펄은 변수에 접근할 때 항상 시길을 사용하며, 시길은 변수의 종류가 아니라 식의 종류를 나타낸다. 예를 들어, 해시의 값 목록에 접근하려면 배열을 나타내는 시길(@)을 사용한다. 펄은 셸 프로그래밍에서 자주 사용되는 정렬과 같은 운영 체제 기능 호출을 내장 함수로 제공한다.

펄은 리스프로부터 리스트 개념을, AWK로부터 해시를, sed로부터 정규 표현식을 가져왔다. 이러한 기능들은 펄을 이용한 구문 분석, 문자열 처리, 데이터 관리 작업을 간편하게 만들어준다.

모든 버전의 펄은 자동 데이터 타이핑과 자동 메모리 관리 기능을 제공한다. 인터프리터는 프로그램 안의 모든 데이터의 자료형과 필요한 기억 공간을 파악하고, 참조 횟수 계산 방식을 사용하여 필요한 공간을 할당하고 해제한다. 숫자에서 문자열로의 변환과 같은 유효한 형 변환런타임 중에 자동으로 수행되며, 잘못된 형 변환은 치명적인 오류로 처리된다.

펄은 모듈을 통해 기능을 쉽게 확장할 수 있다. 예를 들어, 네트워크 통신, 파일 형식 처리, 수치 계산 등을 위한 다양한 모듈이 존재한다. [http://www.cpan.org CPAN]은 이러한 모듈을 체계적으로 관리하는 조직이며, 인터넷을 통해 모듈을 설치할 수 있도록 돕는다.

펄 5는 복잡한 데이터 구조, 일급 함수(값으로서의 클로저) 및 객체 지향 프로그래밍 모델을 지원하는 기능을 추가했다. 여기에는 참조, 패키지, 클래스 기반 동적 디스패치, 범위가 지정된 변수와 컴파일러 지시자가 포함된다.[92]

펄은 다음과 같은 특징을 가진다.

4. 디자인 철학

펄은 "어떤 일을 하는 데에는 하나 이상의 길이 있다(TMTOWTDI)"와 "쉬운 일은 쉬워야 하고 어려운 일은 할 수 있어야 한다"는 두 가지 슬로건을 가지고 있다.[166] 펄의 디자인은 컴퓨터 산업의 변화, 즉 하드웨어 비용 감소, 인건비 증가, 컴파일러 기술 개선에 대응하여 프로그래머가 더 빠르고 쉽게 프로그램을 작성할 수 있도록 설계되었다.[87]

펄은 프로그래머의 작업을 용이하게 하기 위해 자동 메모리 관리, 동적 타이핑, 문자열, 리스트, 해시, 정규 표현식, 자기 검사, `eval()` 함수 등 다양한 기능을 제공하며, ZOI(Zero One Infinity) 규칙과 비슷한 "내장 제한 없음" 이론을 따른다.[166][25]

언어학자였던 래리 월은 펄 설계에 언어학적 원칙을 많이 반영했다. 예를 들어, 허프만 부호화(자주 쓰이는 구조는 짧아야 함), 중요한 정보는 문장 앞에 배치하는 원리, 다양한 언어 프리미티브(language primitive) 요소 등이 있다. 펄은 펄 인터프리터를 복잡하게 만들더라도 간결하고 자연스러운 언어 구조를 선호한다.[88]

펄의 구문은 "어려운 일은 어렵게 보여야 한다"는 개념을 반영한다.[208] 예를 들어 스칼라, 배열, 해시는 각기 다른 시길(sigil)을 가지며, 배열 인덱스와 해시 키는 서로 다른 종류의 괄호를 사용하고, 문자열과 정규 표현식은 서로 다른 표준 구분 문자를 갖는다. 이는 동일한 S-표현식 구조체와 기본 구문을 사용하는 리스프와 대조적이다.

펄은 특정 프로그래밍 패러다임(절차적, 객체 지향, 함수형 등)을 강요하지 않으며, 프로그래머가 이들 중 선택하도록 요구하지도 않는다. 펄은 실용성을 중시하며, "Programming Perl"의 서문은 "펄은 당신의 일을 끝내기 위한 언어입니다."라고 시작한다.[12] 이러한 실용성 때문에 펄은 깔끔한 언어가 아니며, 많은 기능을 포함하고, 규칙에 대한 예외를 허용하며, 휴리스틱을 사용하여 구문적 모호성을 해결한다.

5. 구현

펄은 C 언어로 작성된 코어 인터프리터와 펄 및 C로 작성된 다수의 모듈로 구성된다. 인터프리터는 객체 지향 구조를 가지고 있으며, 펄 언어의 요소들(스칼라, 배열, 해시, 코드 참조, 파일 핸들)은 C 구조체로 표현된다.[101] 이러한 구조체의 동작은 펄 C API를 구성하는 매크로, typedef, 함수의 모임에 의해 정의된다.

펄은 컴파일 단계와 실행 단계로 나뉜다.[101] 컴파일 시간에는 펄 코드를 구문 트리로 구문 분석하고, 실행 시간에는 이 트리를 순회하며 실행한다. 구문 트리는 실행 전에 최적화되어 실행 효율을 높인다. 컴파일 시간 최적화에는 상수 접힘, 컨텍스트 전파, 피홀 최적화 등이 있다.[102]

펄은 컴파일 시간에 펄 코드를 실행할 수 있는 기능을 사용하며, `eval` 내장 함수에 전달된 문자열 인수의 코드는 실행 시간 중에 컴파일된다. `BEGIN` 블록의 코드는 컴파일 시간에 실행되지만 실행 시간에 속한다.

펄은 튜링 완전 문법을 가지고 있어,[103] 일반적인 Lex/Yacc 렉서/파서 조합으로 구문 분석할 수 없다. 대신 인터프리터는 자체 렉서를 구현하고 수정된 GNU bison 파서와 함께 작동하여 언어의 모호성을 해결한다.

"펄을 구문 분석할 수 있는 것은 펄뿐이다"[104]라는 말이 있을 정도로 펄 인터프리터만이 펄 언어를 구문 분석할 수 있다고 알려져 있지만, 항상 그런 것은 아니다. 펄 인터프리터는 컴파일 단계에서 튜링 머신을 시뮬레이션할 수 있기 때문에, 모든 경우에 구문 분석을 완료하려면 정지 문제를 결정해야 한다. 정지 문제는 결정 불가능하므로, 펄조차도 항상 펄을 구문 분석할 수 있는 것은 아니다.[105]

펄은 코어 펄 언어와 코어 모듈에 대해 25만 개 이상의 기능 테스트를 포함하여 배포된다. 이러한 테스트는 빌드 프로세스의 일부로 실행되어 인터프리터와 코어 모듈을 철저히 검사한다.

6. 응용 프로그램

펄은 웹 개발(CGI 스크립트), 시스템 관리, 텍스트 처리, 데이터 관리, 생물정보학 등 다양한 분야에서 활용된다. 펄로 작성된 대표적인 웹 애플리케이션으로는 시패널(cPanel), 슬래시, 버그질라, RT, 트위키, 무버블 타입 등이 있다.[209][210][211][212] 펄은 LAMP 스택의 구성 요소로 사용될 수 있다. 펄/Tk, wxPerl 등을 이용하여 그래픽 사용자 인터페이스(GUI) 개발도 가능하다.

펄의 문자열 처리 기능은 SQL 쿼리를 생성하는데 사용될 수 있다. 배열, 해시, 자동 메모리 관리 기능은 반환된 데이터를 수집하고 처리하기 쉽게 한다. 예를 들어 Tim Bunce의 펄 DBI API에서 API 인수는 SQL 쿼리의 텍스트로 지정할 수 있다. 그러므로 여러 언어로 구성된 프로그램을 동시에 이용할 수 있다. (예: 히어 도큐먼트를 이용해 HTML, 자바스크립트, SQL을 사용하는 웹 페이지 생성) 펄의 변수 보간을 사용하면 각 SQL 쿼리를 프로그래밍 방식으로 만들 수 있고, 각 SQL 쿼리의 결과 데이터셋을 펄 배열 또는 해시에 보관하여 펄의 하위 프로그램으로 처리 할 수 있다.[214]

초기 버전의 펄에서 데이터베이스 인터페이스는 클라이언트 사이드 데이터베이스 라이브러리로 인터프리터를 다시 연결하여 작성되었다. 이는 매우 어려운 작업이었고, 가장 중요하고 널리 사용되는 데이터베이스 중 일부만 가능했으며, 결과물인 `perl` 실행 파일은 한 번에 하나의 데이터베이스 인터페이스만 사용할 수 있었다.

펄 5에서 데이터베이스 인터페이스는 펄 DBI 모듈을 통해 구현된다. DBI (데이터베이스 인터페이스) 모듈은 펄 응용 프로그램에 하나의 데이터베이스 독립 인터페이스를 제공하는 반면, DBD (데이터베이스 드라이버) 모듈은 약 50개의 다른 데이터베이스의 세부 사항을 관리한다. 대부분의 ANSI SQL 데이터베이스에 맞는 DBD 드라이버가 있다.

DBI는 데이터베이스 핸들과 쿼리를 위한 캐시를 제공하며 mod perl과 같이 장기간 실행 환경들의 성능을 개선 시켜 줄 수 있다.[215] 이는 슬래시닷 효과처럼, 볼륨이 큰 시스템들이 부하가 급증하는 현상을 예방할 수 있다.

카탈리스트와 같은 웹 프레임워크를 이용해 작성된 현대 펄 응용 프로그램의 경우, DBI 모듈은 종종 DBIx::Class, Class::DBI, Rose::DB::Object 등의 객체 관계 매퍼를 통해 간접적으로 사용된다.

펄은 모듈을 이용하여 특정 기능을 쉽게 사용할 수 있다. 예를 들어, 다른 프로그램이나 네트워크와의 통신, 각종 파일 형식의 처리, 수치 계산 등을 위한 수많은 모듈이 존재한다. CPAN은 이러한 모듈을 체계적으로 관리하는 조직이며, 인터넷에서 서비스되고 있다. 펄이 동작하고 있는 컴퓨터가 인터넷에 접속되어 있으면, 반자동으로 CPAN과 접촉해 모듈을 가져와서 설치할 수 있다.

7. 펄 커뮤니티

펄은 활발한 커뮤니티를 가지고 있으며, CPAN, Perl Mongers, PerlMonks, Perl.org 등 다양한 조직과 웹사이트를 통해 활동하고 있다. 펄의 창시자 래리 월의 "State of the Onion" 연설은 펄 커뮤니티의 중요한 행사 중 하나이다. 펄 커뮤니티는 JAPH (Just another Perl hacker), 펄 골프, 난독화된 펄 코드 경연 대회, 펄 시 등 독특한 문화를 가지고 있다.

펄은 모듈을 이용하여 특정 기능을 쉽게 사용할 수 있다. 예를 들어 다른 프로그램이나 네트워크와의 통신, 각종 파일 형식 처리, 수치 계산 등을 위한 수많은 모듈이 존재한다. [http://www.cpan.org CPAN]은 이러한 모듈을 체계적으로 관리하는 조직이며, 인터넷에서 서비스되고 있다. 펄이 동작하고 있는 컴퓨터가 인터넷에 접속되어 있으면, 반자동으로 CPAN과 접촉해 모듈을 가져와서 설치할 수 있다.[1]

7. 1. IRC 상의 펄

IRC 상에서 펄 및 일부 모듈 지원을 위한 채널들이 존재한다.

IRC 네트워크채널
irc.freenode.net#perl-kr #perl #perl6 #cbstream #perlcafe #poe
irc.perl.org#moose #poe #catalyst #dbix-class #perl-help #distzilla #epo #corehackers #sdl #win32 #toolchain #padre #dancer
irc.slashnet.org#perlmonks
irc.oftc.net#perl
irc.efnet.net#perlhelp
irc.rizon.net#perl
irc.debian.org#debian-perl (데비안을 위한 펄 모듈 패키징)



한국 펄 사용자들을 위한 채널로는 irc.freenode.net의 #perl-kr이 있다.

8. 명칭 및 상징

펄(Perl)은 원래 "Pearl"이라고 불렸다. 래리 월은 긍정적인 의미를 가진 짧은 이름을 원했고, 사전에서 서너 글자로 이루어진 단어를 찾아보았지만 마음에 드는 것을 찾지 못했다. 그는 아내의 이름을 사용하는 것도 고려했으나, 기존에 PEARL이라는 프로그래밍 언어가 존재했기 때문에 철자를 "Perl"로 변경했다.[198]

일반적으로 이 언어를 지칭할 때는 고유 명사로 첫 글자를 대문자로 표기한 "Perl"을 사용한다. 반면 인터프리터 프로그램 자체를 가리킬 때는 모두 소문자로 표기한 "perl"을 사용하는데, 이는 대부분의 유닉스 계열 운영 체제가 대소문자를 구분하기 때문이다. 《프로그래밍 펄》 초판 이전에는 "perl"로 표기하는 것이 일반적이었으나, 랜들 L. 슈왈츠가 책에서 언어 이름을 대문자로 표기하여 더 눈에 띄게 만들었고, 이후 이러한 대소문자 구별이 표준화되었다.[199]

펄의 이름은 "실용적인 데이터 취득 및 보고서 작성 언어(Practical Extraction and Report Language)"[200]라는 의미로 설명되기도 하지만, 래리 월은 "병적 절충주의 잡동사니 출력장치(Pathologically Eclectic Rubbish Lister)"[201]와 같은 풍자적인 표현을 사용하기도 했다.[202]

오라일리 미디어의 《프로그래밍 펄》 책 표지에는 단봉 낙타 그림이 사용되었는데, 이 책은 흔히 '낙타책(Camel Book)'으로 불린다.[203] 이 낙타 그림은 펄의 비공식적인 상징이자 해커의 상징이 되었으며, 티셔츠와 다른 의상에서도 볼 수 있다. 오라일리는 이 그림을 상표로 소유하고 있지만, 비상업적인 용도로는 www.perl.com으로의 링크와 함께 사용을 허가하고 있다.[204]

펄 재단은 양파 그림을 펄의 또 다른 상징으로 사용하며, Perl Mongers, PerlMonks, Perl.org 등과 같은 하위 단체에 라이선스를 제공한다.[205] 이 상징은 펄 어니언을 이용한 시각적 유희이다.[206]

모졸리셔스의 개발자 제바스티안 리델(Sebastian Riedel)은 랩터(육식조) 그림 로고를 개발하여 펄 5의 상징으로 사용하고 있다.[207]

오라일리 미디어에서 사용하는 낙타 기호


펄 5 랩터 로고

9. 예제 코드

펄은 다양한 예제 코드를 통해 그 기능과 유연성을 보여준다.

```perl

use strict;

use warnings;

print "Hello World!\n";

```

펄의 문화와 커뮤니티는 언어 자체와 함께 발전해 왔다. 유즈넷은 펄이 처음 공개된 곳이었지만, 펄 커뮤니티는 월드 와이드 웹의 등장을 포함한 인터넷 기반 서비스의 확장과 함께 발전했다. 펄 커뮤니티는 래리 월의 첫 "State of the Onion" 강연의 주제였다.[140]

State of the Onion은 래리 월이 펄과 그 커뮤니티의 진행 상황을 매년 요약하는 기조연설이다. 이 강연들은 펄 문화, 해커 문화, 월의 언어적 배경, 그의 가정 생활, 그리고 그의 기독교적 배경에 대한 언급을 사용하는 유머가 특징이다.[141] 각 강연은 여러 펄 컨퍼런스에서 처음 발표되고 온라인에도 게시된다.

"Just another Perl hacker" (JAPH) 프로그램은 초기 전문 펄 강사 중 한 명인 랜달 슈워츠가 시작한 일반적인 경향이다.[142] 펄 문화에서 펄 프로그래머는 펄 해커로 알려져 있으며, "Just another Perl hacker"라는 구문을 출력하는 짧은 프로그램을 작성하는 관행이 생겼다. 이러한 프로그램은 난독화되어 있으며 이메일 또는 유즈넷 메시지의 서명에 맞을 정도로 짧다. 슈워츠가 개발한 "정형적인" JAPH에는 끝에 쉼표가 포함되지만, 종종 생략된다.[143]

펄 "골프"는 펄 프로그램에 사용되는 문자 수를 최소한으로 줄이는 취미다.[144] 코드 골프라는 용어는 다른 언어의 취미에도 적용되었다.[146] 2000년 7월 캘리포니아주 몬터레이에서 열린 Perl Conference 4.0에서 펄 골프 종말(Perl Golf Apocalypse)이 개최되었다.

난독화된 코드 경연 대회는 1990년대 후반에 잘 알려진 취미였다. 난독화된 Perl 경연 대회는 1996년부터 2000년까지 The Perl Journal이 주최한 경연 대회로, 펄의 구문적 유연성을 극대화했다. "가장 강력한"—공간을 효율적으로 사용하는 프로그램—및 유즈넷 서명 블록 스타일로 76자의 네 줄에 맞는 프로그램을 위한 "최고의 4줄 서명"과 같은 부문에 상이 수여되었다.[147]

펄 시는 "블랙 펄"로 알려진 작품과 같이 합법적인 펄 코드로 컴파일될 수 있는 시를 쓰는 행위다. 펄 시는 펄 언어에 사용되는 많은 영어 단어 덕분에 가능하다. 새로운 시는 정기적으로 PerlMonks 커뮤니티에 제출된다.[148]

9. 1. Hello World

이전 버전의 펄의 Hello World 프로그램은 다음과 같다:



print "Hello World!\n";



최신 버전에서는 다음과 같이 쓸 수 있다:



use 5.010;

say "Hello World!";



더 복잡한 프로그램을 위해서는 use strict;use warnings;를 쓰는 것이 좋다:



use strict;

use warnings;

print "Hello World!\n";



최대 주어진 임계값까지 초 단위로 카운트 다운을 하는 더 복잡한 펄 프로그램의 예는 다음과 같다:



#!/usr/bin/perl

use strict;

use warnings;

my ( $remaining, $total );

$remaining = $total = shift(@ARGV);

STDOUT->autoflush(1);

while ( $remaining ) {

printf ( "남음: %s/%s \r", $remaining--, $total );

sleep 1;

}

print "\n";





say 'Hello, world!';


9. 2. 카운트 다운

perl

#!/usr/bin/perl

use strict;

use warnings;

my ( $remaining, $total );

$remaining = $total = shift(@ARGV);

STDOUT->autoflush(1);

while ( $remaining ) {

printf ( "남음: %s/%s \r", $remaining--, $total );

sleep 1;

}

print "\n";

```

주어진 임계값까지 초 단위로 카운트 다운을 하는 더 복잡한 펄 프로그램의 예시이다.

참조

[1] 웹사이트 Perl v5.40.0 is now available https://www.nntp.per[...] www.nntp.perl.org 2024-06-11
[2] 웹사이트 Perl 5.34.3, Perl 5.36.3 and Perl 5.38.2 are now available https://www.nntp.per[...] www.nntp.perl.org 2023-12-05
[3] 웹사이트 Release announcement for perl v5.41.3 https://www.nntp.per[...] www.nntp.perl.org 2024-08-29
[4] 웹사이트 Programming is Hard, Let's Go Scripting... https://www.perl.com[...] 2007-12-12
[5] 웹사이트 General Questions About Perl http://learn.perl.or[...] Perl.org 2012-02-24
[6] 웹사이트 perl(1): Practical Extraction/Report Language - Linux man page http://linux.die.net[...] Linux.die.net 2013-07-23
[7] 웹사이트 Beginner's Introduction to Perl http://www.perl.com/[...] dev.perl.org 2000-10-16
[8] 웹사이트 Larry Wall, the Guru of Perl https://www.linuxjou[...] 2023-08-30
[9] 웹사이트 About Perl https://www.perl.org[...] perl.org 2013-04-20
[10] 웹사이트 Path to Raku https://github.com/R[...] GitHub 2021-01-14
[11] 웹사이트 The Timeline of Perl and its Culture (v3.0_0505) http://history.perl.[...] 1999
[12] 서적 Programming Perl, Third Edition O'Reilly Media 2000-07
[13] 웹사이트 How programs are measured https://benchmarksga[...] 2020-10-05
[14] 웹사이트 RSA in 3 lines of perl - Everything2.com https://everything2.[...] 2020-10-05
[15] 웹사이트 Language Evaluations http://www.catb.org/[...] 2015-01-30
[16] 웹사이트 You Used Perl to Write WHAT?! http://www.cio.com/a[...] 2008-01-24
[17] 웹사이트 The Importance of Perl http://archive.oreil[...] 2015-02-04
[18] 서적 Advanced Linux Networking https://archive.org/[...] Addison-Wesley Professional 2002-06-21
[19] 웹사이트 Beginner's Introduction to Perl http://www.perl.com/[...] O'Reilly Media 2000-10-16
[20] 뉴스 The joy of Perl http://www.salon.com[...] 2012-06-05
[21] 잡지 Scripting on the Lido Deck https://www.wired.co[...] 2016-03-07
[22] 간행물 Larry Wall, the Guru of Perl http://www.linuxjour[...] 1999-05-01
[23] 서적 Learning Perl https://archive.org/[...] O'Reilly Media, Inc. 2011-06-16
[24] 웹사이트 perl - The Perl language interpreter http://perldoc.perl.[...]
[25] 서적 Learning Perl, Third Edition https://archive.org/[...] O'Reilly Media 2007-12-06
[26] 웹사이트 The Perl Camel Usage and Trademark Information http://archive.oreil[...] O'Reilly Media
[27] 웹사이트 Perl Trademark http://www.perlfound[...] The Perl Foundation
[28] 뉴스 Republic Of Perl https://www.chicagot[...] 1998-10-25
[29] 잡지 Dec. 18, 1987: Perl Simplifies the Labyrinth That Is Programming Language https://www.wired.co[...] 2023-02-14
[30] 서적 On Perl: Perl for Students and Professionals https://books.google[...] Universal-Publishers 2003-12
[31] 웹사이트 Perl Culture https://docstore.mik[...] 2023-03-16
[32] 웹사이트 Perl turns 30 and its community continues to thrive https://opensource.c[...] 2023-06-23
[33] 웹사이트 Programming Perl, 3rd Edition [Book] https://www.oreilly.[...] 2023-04-11
[34] 웹사이트 perlhist - the Perl history records - Perldoc Browser https://perldoc.perl[...] 2023-07-28
[35] 웹사이트 perl.perl5.porters archive http://www.nntp.perl[...] perl.org 2011-01-13
[36] 웹사이트 perlhist: the Perl history records http://perldoc.perl.[...] perldoc.perl.org 2011-01-21
[37] 웹사이트 Perl: Definition, History, & Facts https://www.britanni[...] 2022-06-15
[38] 웹사이트 CPAN https://www.cpan.org[...] CPAN 2022-12-19
[39] 웹사이트 perl5004delta – what's new for perl5.004 http://perldoc.perl.[...] perldoc.perl.org 2011-01-08
[40] 서적 Perl in a Nutshell, Second Edition https://archive.org/[...] O'Reilly Media
[41] 웹사이트 perl5005delta - what's new for perl5.005 http://perldoc.perl.[...] perldoc.perl.org 2011-01-21
[42] 웹사이트 Perl Source https://www.cpan.org[...] cpan.org 2023-11-26
[43] 웹사이트 perl56delta - what's new for perl v5.6.0 http://perldoc.perl.[...] perldoc.perl.org 2011-01-21
[44] 웹사이트 perl56delta - what's new for perl v5.6.x http://perldoc.perl.[...] perldoc.perl.org 2011-01-21
[45] 웹사이트 Perl {{!}} Definition, History, & Facts {{!}} Britannica https://www.britanni[...] 2022-06-15
[46] 웹사이트 Apocalypse 1: The Ugly, the Bad, and the Good https://web.archive.[...] 2011-01-08
[47] 웹사이트 perl58delta - what is new for perl v5.8.0 http://perldoc.perl.[...] perldoc.perl.org 2011-01-21
[48] 웹사이트 A Plan for Pugs http://www.perl.com/[...] O'Reilly Media 2005-03-03
[49] 웹사이트 Re: How to Implement Perl 6 in Ten Years http://www.perlmonks[...] PerlMonks 2011-01-03
[50] 웹사이트 OSCON 4.4: Inside Ponie, the Bridge from Perl 5 to Perl 6 http://www.oreillyne[...] O'Reilly ONLamp Blog 2016-06-27
[51] 웹사이트 Ponie has been put out to pasture https://web.archive.[...] The Perl Foundation 2019-01-15
[52] 웹사이트 perl5100delta - what is new for perl 5.10.0 http://perldoc.perl.[...] perldoc.perl.org 2011-01-08
[53] 웹사이트 perlsyn - Perl syntax http://perldoc.perl.[...] perldoc.perl.org 2011-01-21
[54] 웹사이트 perl5120delta - what is new for perl v5.12.0 http://perldoc.perl.[...] perldoc.perl.org 2011-01-08
[55] 웹사이트 perl5140delta - what is new for perl v5.14.0 - metacpan.org https://metacpan.org[...] 2017-07-22
[56] 웹사이트 perl5160delta - what is new for perl v5.16.0 https://perldoc.perl[...] 2012-05-21
[57] 웹사이트 perl5180delta - what is new for perl v5.18.0 - Perl programming language https://metacpan.org[...] metacpan.org 2013-10-27
[58] 웹사이트 perl5200delta - what is new for perl v5.20.0 - Perl programming language https://metacpan.org[...] metacpan.org 2014-05-27
[59] 웹사이트 Milestones in the Perl Renaissance – Modern Perl Programming http://www.modernper[...] 2013-07-17
[60] 웹사이트 Preface (Modern Perl 2011-2012) http://modernperlboo[...] 2013-07-17
[61] 웹사이트 Modern Perl 2011-2012 edition by chromatic | Onyx Neon Press http://onyxneon.com/[...] 2013-07-17
[62] 웹사이트 Enlightened Perl https://web.archive.[...] 2012-09-28
[63] 웹사이트 YAPC::NA 2013 – June 3–5, Austin, Texas https://web.archive.[...] Yapcna.org 2013-06-04
[64] 웹사이트 What is Moe (a clarification) | Stevan Little http://blogs.perl.or[...] Blogs.perl.org 2013-02-08
[65] 웹사이트 p2 on potion http://perl11.org/p2[...] Perl11.org 2004-02-07
[66] 웹사이트 goccy/gperl 路 GitHub https://github.com/g[...] GitHub.com 2014-04-11
[67] 웹사이트 rperl http://rperl.org/faq[...] RPerl.org 2014-08-11
[68] 웹사이트 Perl 6 http://perl6.org/ The Perl 6 Project 2011-02-27
[69] 웹사이트 Transcription of Larry's talk http://www.nntp.perl[...] nntp.perl.org 2011-01-25
[70] 웹사이트 Perl6 - The future of Perl https://www.java-sam[...] 2021-05-18
[71] 웹사이트 Official Perl 6 Documentation https://web.archive.[...] The Perl 6 Project 2011-01-25
[72] MS thesis Considerations on Porting Perl to the Java Virtual Machine http://www.ebb.org/b[...] University of Cincinnati 2001-01
[73] 서적 Modern Perl https://books.google[...] Pragmatic Bookshelf 2015
[74] 웹사이트 Feature comparison of Perl 6 compilers https://web.archive.[...] 2012-03-28
[75] 웹사이트 Rakudo JVM News: More tests, plus Thread and Promise prototypes http://6guts.wordpre[...] 2013-07-15
[76] 웹사이트 MoarVM: A virtual machine for NQP and Rakudo http://6guts.wordpre[...] 2013-05-31
[77] 웹사이트 rename-lwn https://web.archive.[...] 2019-11-10
[78] 웹사이트 rakudo/rakudo - GitHub https://github.com/r[...] GitHub.com 2013-09-21
[79] 웹사이트 Perl 7 announced at Perl Conference in the Cloud perlfoundation.org 2020-06-24
[80] 웹사이트 Announcing Perl 7 perl.com 2020-06-24
[81] 웹사이트 Steering Council meeting #019 2021-05-06 https://www.nntp.per[...] 2021-05-09
[82] 웹사이트 Preparing for Perl 7d https://leanpub.com/[...] leanpub.com 2020-06-24
[83] 웹사이트 What happened to Perl 7? https://blogs.perl.o[...] 2022-07-07
[84] 웹사이트 Larry Wall, the Guru of Perl {{!}} Linux Journal https://www.linuxjou[...] Linux Journal 2023-01-16
[85] 간행물 Tutorial: Perl, a psychologically efficient reformatting language 1998-12
[86] 간행물 How to become a programming tadpole http://www.nature.co[...] 2002-03
[87] 웹사이트 The Fall Of Perl, The Web's Most Promising Language https://www.fastcomp[...] 2014-02-13
[88] 웹사이트 perl - The Perl 5 language interpreter - Perldoc Browser https://perldoc.perl[...] 2021-06-24
[89] 간행물 Wherefore Art, Thou? http://www.linuxjour[...] 1997-03-01
[90] 웹사이트 perlfunc - Perl builtin functions http://perldoc.perl.[...] perldoc.perl.org 2011-01-10
[91] 서적 Web Design Technology S. Chand
[92] 뉴스그룹 title unknown 1997-05-10
[93] 간행물 Developer Update Miller-Freeman
[94] 서적 Learning Perl O'Reilly & Associates
[95] 웹사이트 perlintro https://web.archive.[...] Perl 5 Porters and perldoc.perl.org 2013-06-30
[96] 웹사이트 perlstyle https://web.archive.[...] Perl 5 Porters and perldoc.perl.org 2013-06-30
[97] 웹사이트 Perl 6 FAQ https://web.archive.[...] Perl 6 Project 2013-06-30
[98] 웹사이트 The Implementation of Perl 5 versus Perl 6 http://www.modernper[...] 2012-12-31
[99] 웹사이트 Perl 6 Specification http://www.perl6.org[...] The Perl 6 Project 2011-01-27
[100] 웹사이트 Perl 6 Compilers http://www.perl6.org[...] The Perl 6 Project 2011-01-27
[101] 문서 A description of the Perl 5 interpreter
[102] 웹사이트 perlguts - Introduction to the Perl API - Perldoc Browser https://perldoc.perl[...] 2022-01-24
[103] 웹사이트 On Parsing Perl http://www.perlmonks[...] 2007-01-03
[104] 웹사이트 The Perl Journal #19/9.26 ftp://ftp.ora.com/pu[...] O'Reilly Media 2011-02-04
[105] 웹사이트 Perl and Parsing 11: Are all Perl programs parseable? http://blogs.perl.or[...] 2011-10-07
[106] 웹사이트 PPI—Parse, Analyze and Manipulate Perl (without perl) https://metacpan.org[...] CPAN 2013-09-16
[107] 논문 Rice's Theorem 2008-06-01 # Summer 2008을 6월 1일로 가정
[108] 웹사이트 The "Artistic License" - dev.perl.org http://dev.perl.org/[...] 2016-06-24
[109] 파일 Artistic http://perl5.git.per[...] 2018-07-25
[110] 웹사이트 Perl Licensing http://dev.perl.org/[...] dev.perl.org 2011-01-08
[111] 웹사이트 Perl Ports (Binary Distributions) http://www.cpan.org/[...] CPAN.org 2006-04-16
[112] 웹사이트 The MacPerl Pages http://www.macperl.c[...] Prime Time Freeware 2006-01-18
[113] 웹사이트 Perl Ports (Binary Distributions) http://www.cpan.org/[...] CPAN 2011-01-27
[114] 웹사이트 ActivePerl is Perl for Windows, Mac, Linux, AIX, HP-UX & Solaris https://web.archive.[...] ActiveState Software 2011-01-09
[115] 웹사이트 Using PPM http://docs.activest[...] ActiveState Software 2011-01-09
[116] 뉴스 Goodbye PPM, Hello State Tool https://www.activest[...] 2020-04-16
[117] 문서 readme.txt
[118] 웹사이트 Alioth: The Computer Language Benchmarks Game: Project Info https://web.archive.[...] Alioth 2011-01-13
[119] 웹사이트 Which programs are fastest? https://web.archive.[...] Alioth 2011-01-13
[120] 웹사이트 A Timely Start http://www.perl.com/[...] O'Reilly 2006-05-22
[121] 웹사이트 B::Bytecode Perl compiler's bytecode backend https://web.archive.[...] CPAN 2013-09-16
[122] 서적 Learning Perl https://books.google[...] "O'Reilly Media, Inc." 2011-06-23
[123] 서적 Writing Apache Modules with Perl and C: The Apache API and Mod_perl https://books.google[...] "O'Reilly Media, Inc." 1999
[124] 서적 Practical Mod_perl https://books.google[...] "O'Reilly Media, Inc." 2003
[125] 웹사이트 Inline - metacpan.org https://web.archive.[...] CPAN 2011-01-26
[126] 서적 Beginning PHP and MySQL: From Novice to Professional, Fourth Edition https://archive.org/[...] Apress
[127] 웹사이트 IMDb Helpdesk: What software/hardware are you using to run the site? https://www.imdb.com[...] 2011-02-12
[128] 웹사이트 DuckDuckGo traffic https://duckduckgo.c[...] 2012-02-15
[129] 웹사이트 DuckDuckGo architecture https://web.archive.[...]
[130] 웹사이트 Perl FAQ https://wiki.debian.[...] 2019-08-06
[131] 웹사이트 Perl Books - Book: Data Munging with Perl http://books.perl.or[...] 2010-12-30
[132] 서적 Programming the Perl DBI : [database programming with Perl] https://archive.org/[...] O'Reilly
[133] 웹사이트 Perl Programming - Principles of Programming Languages https://web.archive.[...] 2021-05-18
[134] 서적 Programming the Perl DBI: Database programming with Perl https://books.google[...] "O'Reilly Media, Inc." 2000-02-04
[135] 웹사이트 Efficient Work with Databases under mod_perl http://perl.apache.o[...] 2007-09-01
[136] 서적 Understanding MySQL Internals: Discovering and Improving a Great Database https://books.google[...] "O'Reilly Media, Inc." 2007-04-10
[137] 웹사이트 Class::DBI - Simple Database Abstraction - metacpan.org https://metacpan.org[...] 2020-04-08
[138] 웹사이트 Rose::DB::Object - Extensible, high performance object-relational mapper (ORM). - metacpan.org https://metacpan.org[...] 2020-04-08
[139] 웹사이트 T sql querying developer reference http://pdfpremiumfre[...] 2021-05-18
[140] 웹사이트 Perl Culture (AKA the first State of the Onion) http://grnlight.net/[...] 2014-05-22
[141] 웹사이트 2nd State of the Onion http://www.wall.org/[...] 2012-10-12
[142] 뉴스그룹 Who is Just another Perl hacker? https://groups.googl[...] 2014-12-05
[143] 웹사이트 Canonical JAPH http://www.perlmonks[...] PerlMonks 2005-03-31
[144] 뉴스그룹 Re: Incrementing a value in a slice http://groups.google[...] 2011-07-12
[145] 웹사이트 RSA in 5 lines of perl http://www.cypherspa[...] 2011-01-10
[146] 웹사이트 Code Golf: What is Code Golf? http://codegolf.com/ 29degrees 2018-11-26
[147] 서적 Games, diversions, and Perl culture: best of the Perl journal O'Reilly Media 2011-01-12
[148] 웹사이트 Perl Poetry http://www.perlmonks[...] PerlMonks 2011-01-27
[149] 웹사이트 perl v5.40.0 is now available https://www.nntp.per[...] www.nntp.perl.org 2024-09-22
[150] 웹사이트 Release announcement for perl v5.41.4 https://www.nntp.per[...] www.nntp.perl.org 2024-09-22
[151] 웹사이트 Scripting on the Lido Deck WIRED https://web.archive.[...] 2022-07-29
[152] 서적 プログラミング Perl VOLUME 1
[153] 웹인용 Perl v5.40.0 is now available https://www.nntp.per[...] www.nntp.perl.org 2024-06-11
[154] 웹인용 Perl 5.34.3, Perl 5.36.3 and Perl 5.38.2 are now available https://www.nntp.per[...] www.nntp.perl.org 2023-12-05
[155] 웹인용 Release announcement for perl v5.41.3 https://www.nntp.per[...] www.nntp.perl.org 2024-08-29
[156] 웹사이트 The "Artistic License" http://dev.perl.org/[...]
[157] 웹사이트 Artistic http://perl5.git.per[...]
[158] 웹인용 Perl Licensing http://dev.perl.org/[...] dev.perl.org 2011-01-08
[159] 웹인용 About Perl https://www.perl.org[...] perl.org 2013-04-20
[160] 웹인용 Path to raku by lizmat https://github.com/p[...] github.com 2019-10-16
[161] 웹인용 The Timeline of Perl and its Culture (v3.0_0505) http://history.perl.[...]
[162] 서적 Programming Perl, Third Edition 오라일리 미디어 2000-07
[163] 웹인용 Language Evaluations http://www.catb.org/[...]
[164] 웹인용 You Used Perl to Write WHAT?! http://www.cio.com/a[...] 2015-07-10
[165] 웹인용 The Importance of Perl http://archive.oreil[...] 2015-07-10
[166] 서적 Advanced Linux Networking https://archive.org/[...] Addison-Wesley Professional 2002-06-21
[167] 웹인용 Beginner's Introduction to Perl http://www.perl.com/[...] 오라일리 미디어 2000-10-16
[168] 웹인용 How programs are measured Computer Language Benchmarks Game https://benchmarksga[...] 2020-10-05
[169] 웹인용 RSA in 3 lines of perl - Everything2.com https://everything2.[...] 2020-10-05
[170] 뉴스그룹 v13i001: Perl, a "replacement" for awk and sed, Part01/10 http://groups.google[...] 2011-01-13
[171] 웹인용 perl.perl5.porters archive http://www.nntp.perl[...] perl.org 2011-01-13
[172] 웹인용 perlhist - the Perl history records http://perldoc.perl.[...] perldoc.perl.org 2011-01-21
[173] 웹인용 CPAN https://metacpan.org[...] CPAN 2015-06-02
[174] 웹인용 perl5004delta - what's new for perl5.004 http://perldoc.perl.[...] perldoc.perl.org 2011-01-08
[175] 서적 Perl in a Nutshell, Second Edition https://archive.org/[...] 오라일리 미디어
[176] 웹사이트 perl5005delta - what's new for perl5.005 http://perldoc.perl.[...] perldoc.perl.org 2011-01-21
[177] 웹사이트 Perl Source http://www.cpan.org/[...] www.cpan.org 2015-12-01
[178] 웹사이트 perl56delta - what's new for perl v5.6.0 http://perldoc.perl.[...] perldoc.perl.org 2011-01-21
[179] 웹사이트 perl56delta - what's new for perl v5.6.x http://perldoc.perl.[...] perldoc.perl.org 2011-01-21
[180] 웹사이트 Apocalypse 1: The Ugly, the Bad, and the Good http://dev.perl.org/[...] 2011-01-08
[181] 웹사이트 perl58delta - what is new for perl v5.8.0 http://perldoc.perl.[...] perldoc.perl.org 2011-01-21
[182] 웹사이트 perl5100delta - what is new for perl 5.10.0 http://perldoc.perl.[...] perldoc.perl.org 2011-01-08
[183] 웹사이트 perlsyn - Perl syntax http://perldoc.perl.[...] perldoc.perl.org 2011-01-21
[184] 웹사이트 perl5120delta - what is new for perl v5.12.0 http://perldoc.perl.[...] perldoc.perl.org 2011-01-08
[185] 웹사이트 perldelta - what is new for perl v5.12.3 http://perldoc.perl.[...] perldoc.perl.org 2011-01-08
[186] 웹사이트 perldelta - what is new for perl v5.16.0 https://metacpan.org[...] metacpan.org 2012-05-21
[187] 웹사이트 perl5180delta - what is new for perl v5.18.0 - Perl programming language https://metacpan.org[...] metacpan.org 2013-10-27
[188] 웹사이트 perl5200delta - what is new for perl v5.20.0 - Perl programming language https://metacpan.org[...] metacpan.org 2014-05-27
[189] 웹사이트 Milestones in the Perl Renaissance - Modern Perl Programming http://www.modernper[...] Modernperlbooks.com 2013-07-17
[190] 웹사이트 Preface (Modern Perl 2011-2012) http://modernperlboo[...] Modernperlbooks.com 2013-07-17
[191] 웹사이트 YAPC::NA 2013 - June 3-5, Austin, Texas http://www.yapcna.or[...] Yapcna.org 2014-04-11
[192] 웹사이트 What is Moe (a clarification) | Stevan Little http://blogs.perl.or[...] Blogs.perl.org 2014-04-11
[193] 웹사이트 p2 on potion http://perl11.org/p2[...] Perl11.org 2014-04-11
[194] 웹사이트 goccy/gperl 路 GitHub https://github.com/g[...] Github.com 2014-04-11
[195] 웹사이트 rperl http://rperl.org/faq[...] RPerl.org 2014-08-11
[196] 웹사이트 OSCON 4.4: Inside Ponie, the Bridge from Perl 5 to Perl 6 http://www.oreillyne[...] O'Reilly ONLamp Blog 2005-08-08
[197] 웹사이트 Ponie has been put out to pasture http://news.perlfoun[...] The Perl Foundation 2006-08-23
[198] 저널 Larry Wall, the Guru of Perl http://www.linuxjour[...] 1999-05-01
[199] 웹사이트 perlfaq1: What's the difference between "perl" and "Perl"? http://perldoc.perl.[...]
[200] 서적 Learning Perl 오라일리 미디어 2011-06-16
[201] 웹사이트 perl - The Perl language interpreter http://perldoc.perl.[...] 2011-01-26
[202] 웹사이트 Re^7: PERL as shibboleth and the Perl community http://www.perlmonks[...] PerlMonks 2011-01-02
[203] 서적 Learning Perl, Third Edition
[204] 웹사이트 The Perl Camel Usage and Trademark Information http://onlamp.com/pu[...] 오라일리 미디어 2011-01-09
[205] 웹사이트 Perl Trademark http://www.perlfound[...] The Perl Foundation 2011-01-09
[206] 뉴스 Republic Of Perl http://articles.chic[...] 2011-01-10
[207] 웹사이트 Perl 5 Raptor https://github.com/k[...] 2012-01-18
[208] 저널 Wherefore Art, Thou? http://www.linuxjour[...] 1997-03-01
[209] 서적 Beginning PHP and MySQL: From Novice to Professional, Fourth Edition https://archive.org/[...] Apress
[210] 웹사이트 IMDb Helpdesk: What software/hardware are you using to run the site? https://www.imdb.com[...] Internet Movie Database 2011-02-12
[211] 웹사이트 DuckDuckGo traffic statistics https://duckduckgo.c[...] DuckDuckGo
[212] 웹사이트 DuckDuckGo uses Perl https://news.ycombin[...]
[213] 웹인용 ActivePerl is Perl for Windows, Mac, Linux, AIX, HP-UX & Solaris http://www.activesta[...] 액티브스테이트 소프트웨어 2011-01-09
[214] 서적 Programming the Perl DBI : [database programming with Perl] https://archive.org/[...] O'Reilly
[215] 웹인용 Efficient Work with Databases under mod_perl http://perl.apache.o[...] 2007-09-01
[216] 웹인용 Perl 6 http://perl6.org/ The Perl 6 Project 2011-02-27
[217] 웹인용 Transcription of Larry's talk http://www.nntp.perl[...] nntp.perl.org 2011-01-25
[218] 웹인용 Perl 6 - dev.perl.org http://dev.perl.org/[...] dev.perl.org 2011-01-25
[219] 웹인용 Announcing Perl 7 https://www.perl.com[...] perl.com 2020-06-24
[220] 웹인용 Perl 7 announced at Perl Conference in the Cloud https://news.perlfou[...] perlfoundation.org 2020-06-24



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com