Perl 7์€ ์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ Perl 5์˜ ๋ฐœ์ „์„ ์›ํ™œํ•˜๊ฒŒ ๊ณ„์†ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Perl ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ์œ„์›ํšŒ๋Š” Perl 5 ๋ธŒ๋žœ์น˜์˜ ์ถ”๊ฐ€ ๊ฐœ๋ฐœ๊ณผ Perl 7 ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ์„ ์œ„ํ•œ ๊ณ„ํš์„ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ† ๋ก  ์ค‘์— ๊ด€๋ฆฌ ์œ„์›ํšŒ๋Š” ์ด๋ฏธ Perl 5์šฉ์œผ๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ์™€์˜ ํ˜ธํ™˜์„ฑ์„ ๊นจ๋œจ๋ฆฌ๋Š” ๊ฒƒ์€ ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๋ฐ ๋™์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ทจ์•ฝ์ ์„ ์ˆ˜์ •ํ•˜๋ ค๋ฉด ํ˜ธํ™˜์„ฑ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์œ„์›ํšŒ๋Š” ๋˜ํ•œ ์ƒˆ๋กœ์šด ํ˜์‹ ์— ๋” ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•˜๊ณ  ์ฑ„ํƒ์„ ์žฅ๋ คํ•˜๋Š” ๋™์‹œ์— ์–ธ์–ด๊ฐ€ ๋ฐœ์ „ํ•˜๊ณ  ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๋”์šฑ ์ง‘์ค‘์ ์œผ๋กœ ํ™๋ณดํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๊ฒฐ๋ก ์ง€์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ๊นจ๋œจ๋ฆฌ๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ Perl 7 ๋ธŒ๋žœ์น˜์— ๊ธฐ๋ณธ์ ์œผ๋กœ ํฌํ•จ์‹œํ‚ค๋ ค๋Š” ์›๋ž˜ ์˜๋„์™€๋Š” ๋‹ฌ๋ฆฌ, ์ƒˆ๋กœ์šด ๊ณ„ํš์€ ๊ธฐ์กด ์ฝ”๋“œ์™€์˜ ์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ๊นจ๋œจ๋ฆฌ์ง€ ์•Š๊ณ  Perl 5 ๋ธŒ๋žœ์น˜๋ฅผ Perl 7๋กœ ์ ์ง„์ ์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Perl 7.0 ๋ฆด๋ฆฌ์Šค๋Š” ๋‹ค์Œ Perl 5.xx ๋ถ„๊ธฐ์™€ ๊ฐœ๋…์ ์œผ๋กœ ๋‹ค๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Perl 5์˜ ์ƒˆ ๋ฆด๋ฆฌ์Šค ๊ฐœ๋ฐœ์€ ์ด์ „๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ณ„์†๋ฉ๋‹ˆ๋‹ค. ์ด์ „ ์ฝ”๋“œ์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ถ„๊ธฐ์— ์ถ”๊ฐ€๋œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์€ ์ด์ „๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ "๋ฒ„์ „ ์‚ฌ์šฉ" ๋˜๋Š” "๊ธฐ๋Šฅ ๊ธฐ๋Šฅ ์‚ฌ์šฉ" pragma๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •๋œ ๊ฒฝ์šฐ์—๋งŒ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ์—์„œ. ์˜ˆ๋ฅผ ๋“ค์–ด, Perl 5.010์—์„œ๋Š” "say"๋ผ๋Š” ์ƒˆ๋กœ์šด ํ‚ค์›Œ๋“œ๊ฐ€ ๋„์ž…๋˜์—ˆ์ง€๋งŒ ๊ธฐ์กด ์ฝ”๋“œ์—์„œ๋Š” "say"๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ ํ‚ค์›Œ๋“œ์— ๋Œ€ํ•œ ์ง€์›์€ "'say' ๊ธฐ๋Šฅ ์‚ฌ์šฉ" pragma๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•ด์•ผ๋งŒ ํ™œ์„ฑํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์ „ ๋ฆด๋ฆฌ์Šค์—์„œ ์ฒ˜๋ฆฌํ•  ๋•Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋˜ ์–ธ์–ด์— ์ถ”๊ฐ€๋œ ์ƒˆ๋กœ์šด ๊ตฌ๋ฌธ์€ ํŠน๋ณ„ํ•œ pragma๋ฅผ ์ง€์ •ํ•  ํ•„์š” ์—†์ด ์ฆ‰์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Perl 5.36์—์„œ๋Š” ์—ฌ๋Ÿฌ ๋ชฉ๋ก ๊ฐ’์„ ํ•œ ๋ฒˆ์— ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋‹จ์ˆœํ™”๋œ ๊ตฌ๋ฌธ(โ€œforeach my ($key, $value) (%hash) {โ€)์„ ๋„์ž…ํ•˜์—ฌ โ€œuseโ€๊ฐ€ ์—†๋Š” ์ฝ”๋“œ์—์„œ๋„ ์ฆ‰์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. v5.36โ€ ํ”„๋ผ๊ทธ๋งˆ.

ํ˜„์žฌ ํ˜•์‹์—์„œ Perl 5.36์€ "use v5.36" pragma๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 13๊ฐœ์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ๋ฐฉํ•ดํ•˜๋Š” ๊ธฐ๋Šฅ('say', 'state', 'current_sub', 'fc', 'lexical_subs', 'signatures', 'isa)์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ', ' bareword_filehandles', 'bitwise', 'evalbytes', 'postderef_qq', 'unicode_eval' ๋ฐ 'unicode_strings'), ๊ธฐ๋ณธ์ ์œผ๋กœ "์—„๊ฒฉํ•œ ์‚ฌ์šฉ" ๋ฐ "๊ฒฝ๊ณ  ์‚ฌ์šฉ" ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ณ  ๋ ˆ๊ฑฐ์‹œ ๊ฐ„์ ‘ ํ‘œ๊ธฐ๋ฒ•์— ๋Œ€ํ•œ ์ง€์›์„ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์ฒด ํ˜ธ์ถœ("- >" ๋Œ€์‹  ๊ณต๋ฐฑ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ) ๋ฐ Perl 4 ์Šคํƒ€์ผ ๋‹ค์ฐจ์› ๋ฐฐ์—ด ๋ฐ ํ•ด์‹œ("$hash{1, 2}").

์ถฉ๋ถ„ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ˆ„์ ๋˜๋ฉด Perl 5.x์˜ ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค ๋Œ€์‹  Perl 7.0 ๋ฒ„์ „์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ผ์ข…์˜ ์ƒํƒœ ์Šค๋ƒ…์ƒท์ด ๋˜์ง€๋งŒ Perl 5์™€ ์™„์ „ํžˆ ์—ญํ˜ธํ™˜๋˜๋Š” ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ๋ฐ ์„ค์ •์„ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ํ˜ธํ™˜์„ฑ์ด ์†์ƒ๋˜๋ฉด ์ฝ”๋“œ์— "use v7" pragma๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. . ์ €๊ฒƒ๋“ค. "use v7" pragma๊ฐ€ ์žˆ๋Š” ์ฝ”๋“œ๋Š” ํ˜ธํ™˜์„ฑ์„ ๊นจ๋Š” ์–ธ์–ด ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•œ "ํ˜„๋Œ€์ ์ธ Perl"๋กœ ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, "๋ณด์ˆ˜์ ์ธ Perl"์ด ์—†์œผ๋ฉด ์ด์ „ ๋ฆด๋ฆฌ์Šค์™€ ์™„์ „ํžˆ ์—ญํ˜ธํ™˜๋˜๋Š” ์ƒํƒœ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€