1λ κ°μ κ°λ° λμ Perl νλ‘κ·Έλλ° μΈμ΄μ μλ‘μ΄ μμ λ²μ μΈ 5.44κ° μΆμλμμ΅λλ€. μ΄λ² μ λ²μ μ μ€λΉνλ κ³Όμ μμ μ½ 27λ§ μ€μ μ½λ(λ¬Έμ λ° μλ μμ± μ½λ 11λ§ μ€ μ μΈ)κ° μμ λμμΌλ©°, μ΄λ 860κ°μ νμΌμ μν₯μ λ―Έμ³€κ³ , 71λͺ μ κ°λ°μκ° κ°λ°μ μ°Έμ¬νμ΅λλ€.
5.44 λΈλμΉλ 13λ μ μ μ립λ κ³ μ κ°λ° μΌμ μ λ°λΌ μΆμλμμ΅λλ€. μ΄ μΌμ μ λ°λΌ μμ λ²μ μ λ§€λ ν λ², λ§μ΄λ λ²μ μ 3κ°μλ§λ€ μΆμλ©λλ€. 첫 λ²μ§Έ λ§μ΄λ λ²μ μΈ Perl 5.44.1μ μ½ ν λ¬ νμ μΆμλ μμ μ΄λ©°, Perl 5.44.0 ꡬν κ³Όμ μμ λ°κ²¬λ μ£Όμ λ²κ·Έλ€μ μμ ν©λλ€. Perl 5.44 μΆμμ ν¨κ» 5.40 λΈλμΉμ λν μ§μμ μ’ λ£λμμΌλ©°, ν₯ν μ¬κ°ν 보μ λ¬Έμ κ° λ°κ²¬λ κ²½μ°μλ§ μ λ°μ΄νΈκ° μ 곡λ μ μμ΅λλ€. μ€νμ μΈ 5.45 λΈλμΉ κ°λ°μ΄ μμλμμΌλ©°, 7.x λ²μ λ²νΈ 체κ³λ‘ μ ννκΈ°λ‘ κ²°μ νμ§ μλ ν, μ΄ λΈλμΉλ 2027λ μλ°κΈ°μ μΆμλ μμ λ²μ Perl 5.46μ κΈ°λ°μ΄ λ κ²μ λλ€.
μ£Όμ λ³κ²½ μ¬ν:
- ν¨μ μκ·Έλμ²μ λͺ λͺ λ λ§€κ°λ³μλ₯Ό μ¬μ©ν μ μλ μ€νμ μΈ κΈ°λ₯μ μΆκ°νμ΅λλ€. μ΄λ¬ν λ§€κ°λ³μλ ν¨μ λ³Έλ¬Έμ΄ μλ ν¨μ μ μΈ μμ ν¨μμ μ λ¬λλ λ³μ λͺ©λ‘μ μ μν©λλ€. μ΄ μλ‘μ΄ κΈ°λ₯μ ν΅ν΄ λ§€κ°λ³μλ₯Ό μ격ν μμκ° μλ μμμ μμλ‘ μ λ¬ν μ μμΌλ©°, ν€/κ° μκ³Ό ν΄μ μμμ κ°μ ν λΉνλ κ²κ³Ό μ μ¬ν ꡬ문μ μ¬μ©ν©λλ€. κΈ°μ‘΄ ꡬ문: sub f { my ($x, $y) = @_; β¦} f(1, 2); λͺ λͺ λ λ§€κ°λ³μλ₯Ό μ¬μ©ν μκ·Έλμ²: sub f (:$x, :$y) { β¦ } f(y => 2, x => 1);
- μ¬λ¬ λ³μλ₯Ό μ¬μ©νλ foreach 루νμμ λ³μΉ(ν¬μΈν°μ λν ν¬μΈν°)μ μ¬μ©νλ μ€νμ μ§μμ΄ μΆκ°λμμ΅λλ€. μ΄ κΈ°λ₯μ μ¬μ©νλ©΄ λ¨μΌ 루ν λ°λ³΅μμ μ¬λ¬ κ°μ κ°μ Έμ¬ λ foreach 루νμμ λ³μΉμ λ§λ€ μ μμ΅λλ€. μλ₯Ό λ€μ΄, ν΄μμ ν€μ κ°μ λͺ¨λ λ°λ³΅ν λ λ°°μ΄μ μ¬μ©νμ¬ ν΄μ μμμ λν λ³μΉμ λ§λ€ μ μμ΅λλ€. μμ: use v5.44; use feature qw( refaliasing declared_refs ); my %hash = ( one => [1], two => [2, 2], ); foreach my ( $key, \@items ) ( %hash ) { say "The $key array contains: @items"; } # λ²μ 5.44 μ΄μ μλ μμ°Έμ‘°κ° νμνμ΅λλ€. foreach my ( $key, $var ) ( %hash ) { say "The $key array contains: @$var"; } # μ€νμ μΈ refalias λ° declared_refs κΈ°λ₯ μμ΄: foreach my $key (keys %hash) { say "$key λ°°μ΄μλ λ€μμ΄ ν¬ν¨λ©λλ€: @{$hash{$key}}"; }
- μ κ· ννμμ μ΄μ μ€νμ μΈ 'enhanced_xx' λͺ¨λκ° μΆκ°λμμ΅λλ€. μ΄ λͺ¨λλ₯Ό μ¬μ©νλ©΄ λκ΄νΈ([a-zA-Z]) μμ λ¬Έμ ν΄λμ€μ "/xx" μμ μλ₯Ό μ¬μ©νμ¬ μ¬λ¬ μ€λ‘ λλκ±°λ μ£Όμμ μ½μ ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, "if ($text =~ m/[a-zA-Z]/){" 쑰건μ λ€μκ³Ό κ°μ΄ μμ±ν μ μμ΅λλ€. if ($text =~ m/[ a-z # μλ¬Έμ A-Z # λλ¬Έμ ]/xx) {
- μμ¬λμ μμ±κΈ°λ ν΄λΉ κΈ°λ₯μ μ§μνλ μμ€ν μμ getentropy() μμ€ν νΈμΆμ μ¬μ©νμ¬ μνΈλ‘νΌλ₯Ό μ»μ΅λλ€.Linux, BSD, macOSλ€λ₯Έ μμ€ν μμλ /dev/urandom μ₯μΉμμ μ½κ±°λ μκ°, νλ‘μΈμ€ ID λ° ν¬μΈν° κ°μ ν΄μλ₯Ό μ¬μ©νμ¬ μνΈλ‘νΌλ₯Ό μ»μ΅λλ€.
- μ λμ½λ 17.0 μ¬μμ λν μ§μμ΄ μΆκ°λμμ΅λλ€.
- μλ³μ μ΄λ¦κ³Ό μ κ· ννμ κ·Έλ£Ήμ λν΄ μ λμ½λ κ·μΉμ μ격νκ² μ€μνλλ‘ νμμΌλ©°, μ΄μ μ "\w" ν΄λμ€μ ν¬ν¨λμλ μ½ 160κ°μ μ λμ½λ λ¬Έμκ° μ΄μ μ¬μ©μ΄ κΈμ§λμμ΅λλ€. μλ₯Ό λ€μ΄, λͺ¨λ λ¬Έμ, μ«μ λ° λ°μ€ λ¬Έμλ₯Ό ν¬ν¨νλ "\w" ν΄λμ€λ μ΄μ μ€μ λ¬Έμμ²λΌ 보μ΄μ§λ§ λ¬Έμκ° μλ μμΌλ‘ ββλλ¬μΈμΈ λΌν΄ λ¬Έμλ₯Ό μ μΈν©λλ€. μ΄λ¬ν λμ λ³κ²½μ "ute utf8" λͺ¨λλ₯Ό μ¬μ©νλ νλ‘κ·Έλ¨μλ§ μ μ©λ©λλ€.
- Perl_study_chunk(CVE-2026-8376, 32λΉνΈ λΉλμ μν₯) λ° S_measure_struct(CVE-2026-57432) ν¨μμ λ²νΌ μ€λ²νλ‘ μ·¨μ½μ κ³Ό μ κ· ννμ μμ§μ 16λΉνΈ μΉ΄μ΄ν° μ€λ²νλ‘(CVE-2026-13221)λ₯Ό μμ νμ΅λλ€. μ΄ μ·¨μ½μ μΌλ‘ μΈν΄ μ κ· ννμμ΄ μλͺ» μ€νλ μ μμμ΅λλ€.
- goto μ°μ°μλ₯Ό μ¬μ©νμ¬ λ°λ³΅λ¬Έμ΄λ λΈλ‘ ꡬ쑰 λ΄μ μμΉλ‘ μ΄λνλ κ²μ κΈμ§λμ΄ μμ΅λλ€. μ΄ κΈ°λ₯μ 2010λ μ μ¬μ©μ΄ μ€λ¨λμμ΅λλ€.
- μ μ λ§μ , λΊμ , κ³±μ , ν¨μ μκ·Έλμ² μ²λ¦¬, μ»΄νμΌ μμ μ μλ €μ§ λ¬Έμμ΄ ν€λ₯Ό μ¬μ©νλ ν€/κ° λͺ©λ‘μμ ν΄μλ₯Ό μ±μ°λ μλλ₯Ό ν₯μμν€κΈ° μν μ±λ₯ μ΅μ νκ° μ΄λ£¨μ΄μ‘μ΅λλ€.
μΆμ² : opennet.ru
