11๊ฐ์๊ฐ์ ๊ฐ๋ฐ ๋์
Branch 5.30์ 5.30.1๋ ์ ์ ์น์ธ๋ ๊ณ ์ ๊ฐ๋ฐ ์ผ์ ์ ๋ฐ๋ผ ์ถ์๋์์ต๋๋ค. ์ด๋ 5.30.0๋ ์ ํ ๋ฒ์ฉ ์๋ก์ด ์์ ์ ์ธ ๋ถ๊ธฐ๋ฅผ ์ถ์ํ๊ณ 5.30๊ฐ์๋ง๋ค ์์ ์ถ์๋ฅผ ์๋ฏธํฉ๋๋ค. ์ฝ ํ ๋ฌ ํ์๋ Perl 5.26 ๊ตฌํ ์ค์ ํ์ธ๋ ๊ฐ์ฅ ์ฌ๊ฐํ ์ค๋ฅ๋ฅผ ์์ ํ๋ Perl 5.31์ ์ฒซ ๋ฒ์งธ ์์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ถ์ํ ์์ ์ ๋๋ค. Perl 2020 ๋ฆด๋ฆฌ์ค์ ํจ๊ป 5.32 ๋ถ๊ธฐ์ ๋ํ ์ง์์ด ์ค๋จ๋์์ผ๋ฉฐ, ์ด์ ๋ํ ์ ๋ฐ์ดํธ๋ ํฅํ ์ค์ํ ๋ณด์ ๋ฌธ์ ๊ฐ ํ์ธ๋ ๊ฒฝ์ฐ์๋ง ๋ฆด๋ฆฌ์ค๋ ์ ์์ต๋๋ค. ์คํ์ ์ธ ๋ธ๋์น XNUMX์ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ ์์๋์์ผ๋ฉฐ, ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก XNUMX๋ XNUMX์์ Perl XNUMX์ ์์ ์ ์ธ ๋ฆด๋ฆฌ์ค๊ฐ ๊ตฌ์ฑ๋ ์์ ์ ๋๋ค.
์ด์
- "" ์์
์ ๋ํ ์คํ์ ์ง์์ด ์ ๊ท์์ ์ถ๊ฐ๋์์ต๋๋ค.
(?<!๋ฌด๋ฌ) "๊ทธ๋ฆฌ๊ณ "(?<=ํจํด) ยป ์ด์ ์ ์ฒ๋ฆฌ๋ ๋ช ๋ช ๋ ํ ํ๋ฆฟ์ ๋ํ ์ก์ธ์ค๊ฐ ์ ํ๋ฉ๋๋ค. ํจํด ์ ์๋ ์ฐธ์กฐ์ ์ผ๋ก๋ถํฐ 255์ ์ด๋ด์ฌ์ผ ํฉ๋๋ค. - "{m,n}" ์ ๊ท์ ๋ธ๋ก์ ํฌ๊ธฐ ์ง์ ์("n")์ ์ต๋๊ฐ์ด 65534๋ก ์ฆ๊ฐ๋์์ต๋๋ค.
- ํ์ ์ถ๊ฐ
์ง์ ๋ค์ํ ์ ๋์ฝ๋ ์ธํธ๋ฅผ ํฌํจํ์ฌ ์ ๊ท์์์ ํน์ ๋ฌธ์ ๋ฒ์ฃผ๋ฅผ ๊ฐ์กฐ ํ์ํ๋ ๋ง์คํฌ์ ๋๋ค. ์๋ฅผ ๋ค์ด, โqr! \p{nv= /(?x) \A [0-5] \z / }!โ ํ๊ตญ์ด ๋๋ ๋ฒต๊ณจ์ด ์ซ์ ์ฒ ์๋ฅผ ํฌํจํ์ฌ 0์์ 5๊น์ง์ ์ซ์๋ฅผ ์ ์ํ๋ ๋ชจ๋ ์ ๋์ฝ๋ ๋ฌธ์๋ฅผ ์ ํํ ์ ์์ต๋๋ค. - ์ ๊ท์์ ๋ช
๋ช
๋ ๋ฌธ์์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
์์๋ฐ์ดํ๋ก ๊ตฌ๋ถ๋ ๋ด๋ถ ํจํด(qr'\N{name}'); - ์ ๋์ฝ๋ ์ฌ์ ์ง์์ด ๋ฒ์ ์ผ๋ก ์
๋ฐ์ดํธ๋์์ต๋๋ค.
12.1 . ์คํ์ ๊ฐ๋ฐ ํ๋๊ทธ๊ฐ ํธ์ถ์์ ์ ๊ฑฐ๋์์ต๋๋ค.sv_utf8_downgrade ๋ฐ sv_utf8_decode , C ์ธ์ด ํ์ฅ ๊ฐ๋ฐ์ ์ฌ์ฉ๋ฉ๋๋ค. - ๋ค์ค ์ค๋ ๋ ์์ (-Accflags='-DUSE_THREAD_SAFE_LOCALE')์ ์ง์ํ๋ ๋ก์ผ์ผ์ ์ฌ์ฉํ์ฌ ์์ ์ ๊ตฌํํ์ฌ Perl์ ๋น๋ํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด์ ์๋ ์ด๋ฌํ ๊ตฌํ์ด Perl์ ๋ค์ค ์ค๋ ๋ ๋ฒ์ ์ ๋น๋ํ ๋๋ง ์ฌ์ฉ๋์์ง๋ง ์ด์ ๋ ๋ชจ๋ ๋น๋์์ ํ์ฑํํ ์ ์์ต๋๋ค.
- ์ด์ "-Dv"(ํฅ์๋ ๋๋ฒ๊น ์ถ๋ ฅ) ๋ฐ "-Dr"(์ ๊ท์ ๋๋ฒ๊น ) ํ๋๊ทธ๋ฅผ ๊ฒฐํฉํ๋ฉด ๊ฐ๋ฅํ ๋ชจ๋ ์ ๊ท์ ๋๋ฒ๊น ๋ชจ๋๊ฐ ํ์ฑํ๋ฉ๋๋ค.
- ์ด์ ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ๊ธฐ๋ฅ์ด ์ ๊ฑฐ๋์์ต๋๋ค.
- ์ด์ ์ค ๊ตฌ๋ถ ๊ธฐํธ ๋ฐ ์์ผ๋์นด๋ ๋ฌธ์๋ก ์ฌ์ฉ ๊ฐ๋ฅ
ํ์ฉ ๋ง ์ฌ์ฉ๋ฌธ์์ (๋ณตํฉ ์ ๋์ฝ๋ ๋ฌธ์๋ ํ์ฉ๋์ง ์์ต๋๋ค). -
๋จ์ข ์ ๊ท์์์ "{" ๋ฌธ์๋ฅผ ์ด์ค์ผ์ดํํ์ง ์๊ณ ์ฌ์ฉํ๋ ์ค๋ซ๋์ ์ฌ์ฉ๋์ง ์๋ ํ์์ ์ง์ํฉ๋๋ค. -
๊ทธ๊ฒ์ ๊ธ์ง ":utf8" ํธ๋ค๋ฌ์ ํจ๊ป sysread(), syswrite(), recv() ๋ฐ send() ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. - ๋ณธ์ง์ ์ผ๋ก ์๋ชป๋ ์กฐ๊ฑด๋ฌธ(์: "my $x if 0")์ "my" ์ ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ธ์ง๋ฉ๋๋ค.
- ํน์ ๋ณ์ โ$*โ ๋ฐ โ$#โ์ ๋ํ ์ง์์ด ์ ๊ฑฐ๋์์ต๋๋ค.
dump() ํจ์์ ์์์ ํธ์ถ์ ๋ํ ์ง์์ด ์ค๋จ๋์์ต๋๋ค(์ด์ CORE::dump()๋ฅผ ๋ช ์์ ์ผ๋ก ์ง์ ํด์ผ ํจ). - File::Glob::glob ํจ์๊ฐ ์ ๊ฑฐ๋์์ต๋๋ค(File::Glob::bsd_glob์ ์ฌ์ฉํด์ผ ํจ).
- ์๋ชป๋ ์ ๋์ฝ๋ ์ํ์ค ๋ฐํ์ ๋ํ pack() ๋ณดํธ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- XS ์ฝ๋(C ๋ธ๋ก)์์ UTF-8๋ก ์์ ์ ์ํํ๋ ๋งคํฌ๋ก ์ฌ์ฉ์ ๋ํ ์ง์ ์ข ๋ฃ๊ฐ ๋ค์ ๋ฆด๋ฆฌ์ค๊น์ง ์ฐ๊ธฐ๋์์ต๋๋ค.
- ์ด์ ์ค ๊ตฌ๋ถ ๊ธฐํธ ๋ฐ ์์ผ๋์นด๋ ๋ฌธ์๋ก ์ฌ์ฉ ๊ฐ๋ฅ
- ์ฑ๋ฅ ์ต์ ํ:
- UTF-8์์ ๋ฌธ์ ๋ ์ด์์์ผ๋ก์ ๋ณํ ์์
์ด ๊ฐ์ํ๋์์ต๋๋ค(
์ฝ๋ ํฌ์ธํธ ), ์๋ฅผ ๋ค์ด ord(โ\x7fffโ) ์์ ์ ์ํํ๋ ค๋ฉด ์ด์ 12% ๋ ์ ์ ๋ช ๋ น์ด๊ฐ ํ์ํฉ๋๋ค. UTF-8 ๋ฌธ์ ์ํ์ค์ ์ ํ์ฑ์ ํ์ธํ๋ ์์ ์ฑ๋ฅ๋ ํฅ์๋์์ต๋๋ค. - finalize_op() ํจ์์ ์ฌ๊ท ํธ์ถ์ด ์ ๊ฑฐ๋์์ต๋๋ค.
- ๋์ผํ ๋ฌธ์๋ฅผ ์ถ์ํ๊ณ ์ ๊ท์์์ ๋ฌธ์ ํด๋์ค๋ฅผ ์ ์ํ๊ธฐ ์ํด ์ฝ๋๋ฅผ ์ฝ๊ฐ ์ต์ ํํ์ต๋๋ค.
-
์ต์ ํ๋จ ๋ถํธ ์๋ ์ ํ ์ ์๋ฅผ ๋ถํธ ์๋ ์ ์๋ก ๋ณํ(IV์์ UV๋ก) - ์ ์๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ๋ ์๊ณ ๋ฆฌ์ฆ์ ํ ์๋ฆฌ ๋์ ๋ ์๋ฆฌ๋ฅผ ๋์์ ์ฒ๋ฆฌํจ์ผ๋ก์จ ๊ฐ์ํ๋์์ต๋๋ค.
- ๊ฐ์ ์ด ์ด๋ฃจ์ด์ก์ต๋๋ค.
ํ๋ จ๋ LGTM์ ๋ถ์์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. - regcomp.c, regcomp.h ๋ฐ regexec.c ํ์ผ์ ์ต์ ํ๋ ์ฝ๋
- ์ ๊ท์์์ ASCII ๋ฌธ์๊ฐ ํฌํจ๋ "qr/[^a]/"์ ๊ฐ์ ํจํด ์ฒ๋ฆฌ๊ฐ ํฌ๊ฒ ๊ฐ์ํ๋์์ต๋๋ค.
- UTF-8์์ ๋ฌธ์ ๋ ์ด์์์ผ๋ก์ ๋ณํ ์์
์ด ๊ฐ์ํ๋์์ต๋๋ค(
- Minix3 ํ๋ซํผ์ ๋ํ ์ง์์ด ๋ณต์๋์์ต๋๋ค. Microsoft Visual Studio 2019 ์ปดํ์ผ๋ฌ(Visual C++ 14.2)๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋ํ ์ ์์ต๋๋ค.
- ๊ธฐ๋ณธ ํจํค์ง์ ํฌํจ๋ ๋ชจ๋์ ์
๋ฐ์ดํธ๋ ๋ฒ์ ์
๋๋ค. ๋ชจ๋์ด ๊ธฐ๋ณธ ๊ตฌ์ฑ์์ ์ ๊ฑฐ๋์์ต๋๋ค.
B::๋๋ฒ๊ทธ ะธ๋ก์ผ์ผ::์ฝ๋ .
์ถ์ฒ : opennet.ru