Perl은 오픈 소스 프로그래밍 언어이며 첫 번째 버전인 1.0은 1987년에 출시되었습니다.다음 표에 Perl 5 버전 이력을 보여 줍니다.릴리스 버전을 나타냅니다.일부 버전은 아직 다루지 않았습니다.
주목할 만한 변경을 포함하거나 지원되는 최신 버전이 아니면 이 차트에 추가 마이너릴리즈 버전은 표시되지 않습니다.자세한 내용은 Perl 공식 웹 사이트에서 확인할 수 있습니다.
버전 이력
Perl 유지보수 및 지원 정책은 "가장 최근에 안정된 두 릴리스 시리즈를 지원하는 것"입니다.
릴리스 번호에서는 5.6 이후의 시멘틱버전 관리를 사용합니다.여기서 짝수 마이너버전(예를 들어 5.36)은 안정된 릴리스이고 홀수버전은 실험적인 개발 버전입니다.패치 번호는 보통 Perl 버전 설명에서 생략됩니다.
버전 | 발매일 | 링크 | 변화들 |
5.36.0 | 2022년 5월 28일 | 풀 릴리즈 노트 | isa 연산자가 더 이상 실험적인 것으로 간주되지 않음 - 유니코드 14
- 정규식 집합은 더 이상 실험 집합으로 간주되지 않습니다.
- 정규식에서의 가변 길이 뒤처짐이 더 이상 실험적인 것으로 간주되지 않음
- 부울 트래킹
- 새로운 빌트인
- 서브루틴 시그니처는 실험적인 것으로 간주되지 않습니다.
- 블록을 연기하다
- 실험적인
try/catch 와 함께finally 블록 |
5.34.1 | 2022년 3월 13일 | 풀 릴리즈 노트 | |
5.34.0 | 2021년 5월 20일 | 풀 릴리즈 노트 | - 실험적인
try/catch 구문 - 정규 표현식 수량자의 하한이 비어 있습니다( ).
qr/{,n}/ ) - 와의 새로운 8진수 구문
0o 프리픽스(예:0o123_456 ) |
5.32.1 | 2021년 1월 23일 | 풀 릴리즈 노트 | - 새 문서 perlgov 및 perlsec 정책
|
5.32.0 | 2020년 6월 20일 | 풀 릴리즈 노트 | - 실험적인
isa 교환입니다. - 연쇄 비교(예:
1 <= $x <= 10 ) - Unicode 13.0 지원
- 숫자 변수 앞에 0을 붙일 수 없습니다.
|
5.30.2 | 2020년 3월 14일 | 풀 릴리즈 노트 | |
5.30.1 | 2019년 11월 10일 | 풀 릴리즈 노트 | |
5.30.0 | 2019년 5월 22일 | 풀 릴리즈 노트 | - Unicode 12.1 지원
- 정규 표현 패턴의 가변 길이 룩백
|
5.28.0 | 2018년 6월 22일 | 풀 릴리즈 노트 | - Unicode 10.0 지원
- 키/값 해시 슬라이스에서 삭제
- 일부 정규 표현 어설션의 알파벳 동의어(실험적)
- 혼재된 Unicode 스크립트를 검출할 수 있게 되었습니다.
- perl -i를 사용한 인플레이스 편집이 안전해졌습니다.
- 집계 상태 변수 초기화
- 풀사이즈 inode 번호
- 그
sprintf %j C99 이전 컴파일러에서 포맷사이즈 수식자를 사용할 수 있게 되었습니다. - Close-on-exec 플래그가 자동으로 설정됨
- 문자열 및 번호 고유의 비트 단위 ops는 더 이상 실험적이지 않습니다.
- 로케일을 지원하는 시스템에서 스레드 세이프한 로케일
- 새 읽기 전용 사전 정의된 변수
${^SAFE_LOCALES} - 보안 수정
|
5.26.0 | 2017년 5월 30일 | 풀 릴리즈 노트 | - 보안상의 이유로 현재 디렉토리(".")는 모듈 검색 경로(@INC)의 끝에 기본적으로 포함되지 않습니다.
- 어휘 서브루틴은 더 이상 실험적이지 않습니다.
- 여기에 들여쓰기 - 문서
- 새 정규식 수정자 및 캡처 그룹
- Unicode 9.0 지원
- Perl은 이를 지원하는 플랫폼의 UTF-8 로케일에서 기본 대조 작업을 수행할 수 있게 되었습니다.
|
5.24.0 | 2016년 5월 8일 | 풀 릴리즈 노트 | - Unicode 8.0이 지원되게 되었습니다.
- 정규 표현식의 새 줄 바꿈 경계
- UTF-8 로케일로 동작하는 확장 괄호 문자 클래스
- 정수 이동에 대한 보다 명확한 정의
- printf 및 sprintf의 정밀도 인수를 정렬했습니다.
- 시그니션 콜백에 제공되는 추가 필드
|
5.22.0 | 2015년 6월 1일 | 풀 릴리즈 노트 | - Unicode 7.0이 지원되게 되었습니다.
- 이력 모듈 CGI.pm 및 모듈:빌드가 코어 배포에서 제거되었습니다.
- 이중 다이아몬드 연산자
- 명확한 비트 연산자(실험적 기능으로서)
- 변수 에일리어싱(실험적 기능으로서)
|
5.20.0 | 2014년 5월 27일 | 풀 릴리즈 노트 | - 서브루틴 시그니처(실험용 기능)
- 포스트픽스 디레퍼런스(실험용 기능)
- 키/값 슬라이스 구문
|
5.18.0 | 2013년 5월 18일 | 풀 릴리즈 노트 | - 정규 표현 문자 집합 연산(실험 기능으로서의)
- 어휘 서브루틴(실험적 기능으로서)
|
5.16.0 | 2012년 5월 20일 | 풀 릴리즈 노트 | __SUB__ 현재 인식되고 있는 서브루틴의 경우 - 부호화 명확화 평가
fc 대소문자 구분 함수 |
5.14.0 | 2011년 5월 14일 | 풀 릴리즈 노트 | - Unicode 6.0 지원
- 모든 문자열에 적용되는 Unicode 의미론
- 비파괴 치환(s//r)
- /d, /l, /u 및 /정규식 수식자 추가
- 정규 표현식 재입력
- 빌트인에 의한 자동 참조 해제(나중에 삭제)
|
5.12.0 | 2010년 4월 12일 | 풀 릴리즈 노트 | - Unicode 5.2 지원
- 신규
package NAME VERSION 구문 - 그
... 연산자가 추가되었습니다. - 암묵적인 제약
use 5.12.0 (또는 그 이후 버전) - 2038년 컴플라이언스
|
5.10.0 | 2007년[1] 12월 18일 | 풀 릴리즈 노트 | |
5.8.0 | 2002년[1] 7월 18일 | Perl 5.8.0 출시 발표 | - Unicode 3.2.0 지원
- 이제 정규식이 Unicode와 함께 작동합니다.
- 인코딩 모듈을 통한 라틴어 이외의 인코딩 지원
- 인터프리터 스레드 도입
- 새로운 PerlIO의 실장
- 삽입 루틴을 통한 문자열 번호 변환에 대한 수치 정확도 향상
- 최종 64비트 지원
- 새로운 모듈:다이제스트:MD5, 파일:온도, 필터:: 심플, libnet, 목록:: Util, Memoize, MIME::Base64, 스칼라:: Util, Storable, Switch,테스트:기타, 테스트:심플, 텍스트:균형, 동점:파일 등
- 비호환성:
- Perl 5.8은 이전 Perl 릴리즈와 바이너리 호환성이 없습니다.
- 64비트 버전에서는 Perl malloc을 사용하지 않게 되었습니다.
- 해시 순서가 변경되었습니다.
- dump() 명령어는 사용되지 않게 됩니다.
- 5.005 스레드는 권장되지 않습니다.
- 사용자가 지정한 의사 해시 구현은 권장되지 않으며 삭제가 스케줄링되어 있습니다.
- exec LIST 및 system LIST 문제 경고에서 오염된 데이터를 사용하면 향후 릴리스에서 치명적인 오류가 발생합니다.
- tr//C, tr//U, pack("C0", ...) 및 pack("U0", ...)의 경우 대신 사용할 수 있습니다.
|
5.6.0 | 2000년[1] 3월 22일 | Perl v5.6.0 출시 | - 버전 번호가 'revision'으로 변경되었습니다.version.subversion' 형식
- 문자열의 내부 표현이 UTF-8로 변경되어 EBCDIC 지원이 중단되었습니다.
- 인터프리터 동시성 지원 향상.
- 문자열 리터럴은 문자 서수를 사용하여 쓸 수 있습니다.
- 서브루틴 Atribute의 새로운 구문.(Attributes pragma는 폐지되었습니다.
- 대용량 파일 지원(사용 가능한 경우)
- 이진수 지원.
- JPL('Java Perl Lingo') 배포는 Perl에 번들되어 있습니다.
- 튜토리얼 및 레퍼런스 정보의 형태로 새로운 문서가 추가되었습니다.
- 실험 기능:
- Unicode 지원
- Windows 에서의 스레드화 및 fork() 에뮬레이션 지원.
- 64비트 지원
- Lvalue 서브루틴
- 레퍼런스가 약하다.
- 유사 해시 데이터 유형입니다.
|
5.005 | 1998년[1] 7월 22일 | 5.005 출시(유지보수 업데이트 01) | - 5.005는 이전 릴리스와 바이너리 호환성이 없습니다.
- 소스 코드가 ANSI C로 변경되었습니다.
- 새롭게 지원되는 플랫폼에는 BeOS, DOS, MPE/ix 등이 있습니다.
- EXPR foreach EXPR 구문이 지원됩니다.
- 실험 기능:
- C++ Perl 객체 추상화는 Win32에서 지원됩니다.
- 사전 컴파일된 정규 표현식입니다.
- 확장 64비트 지원
- 스레드화가 유효하게 되어 있는 경우, 신뢰성이 높은 신호.
- 예외 처리 확장 지원
- EGCS/GCC 컴파일러는 현재 Win32에서 지원됩니다.
|
5.004 | 1997년 5월 15일 | perl5004gl - perl5.004의 새로운 기능 | |
5.003_1 | 1996년 7월 31일 | 풀 릴리즈 노트 | |
5.003 | 1996년 6월 25일 | 풀 릴리즈 노트 | |
5.002_1 | 1996년 3월 25일 | 풀 릴리즈 노트 | - EMBLED 네임스페이스 변경사항이 기본적으로 사용됩니다.
- 코어의 몇 가지 버그를 수정.
- $^E와 $^O라는 두 가지 새로운 매직 변수 추가
- 에서 로컬로 적용된 패치를 나열할 수 있는 메커니즘이 추가되었습니다.
perl -v 산출량 - 문서에 기타 사소한 수정 및 업데이트가 이루어졌습니다.
- OS/2 및 VMS 포트에 대한 광범위한 업데이트
- 기타 기타 변경 및 버그 수정
|
5.002 | 1996년 2월 29일 | 풀 릴리즈 노트 | - 새로운 기능 추가: 프로토타입
- Perl의 거의 모든 모듈에 대한 광범위한 업그레이드
- 구성 시스템과 빌드 시스템 모두에 대한 대규모 변경
- 버그 수정
|
5.001 | 1995년 3월 13일 | 풀 릴리즈 노트 | - $SIG {_WARN__} 및 $SIG {_DIE__}의 2개의 새로운 후크가 추가되었습니다.
- 폐쇄 추가
- 이제 가져온 루틴을 경고를 재정의하기 위해 "정의"로 카운트합니다.
- 버그 수정
|
5.000 | 1994년 10월 17일 | 풀 릴리즈 노트 | - 대신 가까운 완전한에서 rewrite.
- 사물을 추가했습니다
- 참조 추가했습니다
- 어휘(내)변수 추가
- 는 통역사를 수정하지 않고 언어를 연장할 수 있는 모듈 추가했습니다.
|
4.000 | 3월 21일, 1991 | | |
3.000 | 1989년 10월 18일 | | |
2.000 | 1988년 6월 5일 | | |
1.000 | 1987년 12월 18일 | | |
레퍼런스