Анализ Π½Π° риска Π·Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π°Ρ‚Π° Perl 7

Π”Π°Π½ Π‘ΡƒΠΊ (Π”Π°Π½ Π‘ΡƒΠΊ), ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‰ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 70 ΠΌΠΎΠ΄ΡƒΠ»Π° Π² CPAN, ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈ Π°Π½Π°Π»ΠΈΠ·Π° рисковС ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎΡ‚ΠΎ План Π·Π° внСдряванС Π½Π° Perl 7. НСка ΠΏΡ€ΠΈΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Π΅ Π² ΠΊΠ»ΠΎΠ½Π° Π½Π° Perl 7 Ρ‚Π΅ Π²ΡŠΠ·Π½Π°ΠΌΠ΅Ρ€ΡΠ²Π°Ρ‚ Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚ Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π° стриктна ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° β€žΡΡ‚Ρ€ΠΎΠ³β€œ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚ β€žΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΡβ€œ ΠΈ Π΄Π° промСнят стойността Π½Π° Ρ€Π΅Π΄ΠΈΡ†Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ влияят Π½Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚Ρ‚Π° със стар ΠΊΠΎΠ΄.

ΠžΡ‡Π°ΠΊΠ²Π° сС промяната Π΄Π° Π½Π°Ρ€ΡƒΡˆΠΈ голям Π±Ρ€ΠΎΠΉ CPAN ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π² Perl 7 ΠΈ Π΄Π° изисква ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ във всСки ΠΌΠΎΠ΄ΡƒΠ», ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ нСрСалистично Π΄Π° сС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Ρ†Π΅Π»Π΅Π²Π°Ρ‚Π° Π³ΠΎΠ΄ΠΈΠ½Π°, особСно слСд ΠΊΠ°Ρ‚ΠΎ Π½Π΅ всички Π°Π²Ρ‚ΠΎΡ€ΠΈ остават Π½Π°Π»ΠΈΡ‡Π½ΠΈ. ΠΠΎΠ²ΠΎΠ²ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΡΡ‚Π° Π² Perl 7 ΡΡŠΡ‰ΠΎ Ρ‰Π΅ прСдотвратят ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ΠΈ Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ Π½Π°ΠΉ-Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π½Π° Perl.

ОсвСн Ρ‚ΠΎΠ²Π° сС спомСнават слСднитС възмоТни ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ:

  • ΠžΠ±ΡŠΡ€ΠΊΠ²Π°Π½Π΅ срСд Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈΡ‚Π΅ ΠΏΠΎΡ€Π°Π΄ΠΈ някои ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ ΠΈ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΠΊΠΈ ΠΎΡ‚ Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²Π°, написани Π·Π° Perl 7, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ работят Π² Perl 5.
  • ВлияниСто Π²ΡŠΡ€Ρ…Ρƒ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π΅Π΄Π½ΠΎΠ»ΠΈΠ½Π΅ΠΉΠ½ΠΈΡ‚Π΅ Π½Π΅ Π΅ ΠΏΡ€ΠΎΡƒΡ‡Π΅Π½ΠΎ. Perl сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π½Π΅ само Π·Π° писанС Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ скриптовС, Π½ΠΎ ΠΈ Π·Π° създаванС Π½Π° Π΅Π΄Π½ΠΎΡ€Π΅Π΄ΠΎΠ²ΠΈ ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΈ скриптовС Π·Π° Π½ΡƒΠΆΠ΄ΠΈΡ‚Π΅ Π½Π° администраторитС, ΠΏΡ€ΠΈ ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° строг Ρ€Π΅ΠΆΠΈΠΌ Π΅ Π½Π΅Π½ΡƒΠΆΠ½ΠΎ.
  • ДистрибуциитС ΠΈΠΌΠ°Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΡ‚ΠΎ доставянС Π½Π° изпълними Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° изпълнСниС Π½Π° Perl 7 ΠΈ Perl 5 скриптовС (ΠΎΡ‡Π°ΠΊΠ²Π° сС историята Π΄Π° сС ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈ с Python 2 ΠΈ 3).
  • ΠšΠΎΠ΄ΡŠΡ‚, написан Π·Π° Perl 7, Π½Π΅ трябва Π΄Π° отбСлязва спСциално, Ρ‡Π΅ няма Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² Perl 5; ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ няма Π΄Π° посочат ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π° вСрсия.
  • Π Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Perl 5, Ρ‰Π΅ изискват ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ.
  • ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°Ρ‚Π° Π½Π° Perl 7, ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΏΡ€Π΅Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° рСсурситС, Ρ‰Π΅ Π·Π°ΠΌΡ€Π°Π·ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²ΠΈ характСристики Π½Π° Perl Π·Π° извСстно Π²Ρ€Π΅ΠΌΠ΅.
  • Π‘ΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° риск ΠΎΡ‚ изгарянС ΠΈ напусканС Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Π½Π° Perl, ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, инструмСнти ΠΈ ΡΡŠΠΏΡŠΡ‚ΡΡ‚Π²Π°Ρ‰ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ голямото Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π±Π΅Π· подходяща мотивация (Π½Π΅ всички са съгласни с нСобходимостта ΠΎΡ‚ създаванС Π½Π° Perl 7).
  • ΠšΡƒΠ»Ρ‚ΡƒΡ€Π°Ρ‚Π° Π² общността ΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ към стабилността Π½Π° Perl Ρ‰Π΅ сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ.
  • ΠΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΡŠΡ‚ Π½Π° Π΅Π·ΠΈΠΊΠ° Ρ‰Π΅ бъдС ΠΏΠΎΠ΄ΠΊΠΎΠΏΠ°Π½ ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠΈΡ‚Π΅, Ρ‡Π΅ Perl 7 Π΅ Π½Π΅ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ със ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ ΠΊΠΎΠ΄ ΠΏΡ€ΠΈ липсата Π½Π° Π½Π΅Ρ‰ΠΎ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ Π½ΠΎΠ²ΠΎ.

Π—Π° Π΄Π° ΠΈΠ·Π³Π»Π°Π΄ΠΈ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΈΡ‚Π΅ послСдици, Π”Π°Π½ Π‘ΡƒΠΊ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈ своя ΠΏΠ»Π°Π½, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ ΠΈΠ·Π±Π΅Π³Π½Π΅ пропуск Π² ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚Ρ‚Π°. ΠŸΡ€Π΅Π΄Π»Π°Π³Π° сС Π΄Π° сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΡΡŠΡ‰ΠΈΡΡ‚ процСс Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ вмСсто 5.34.0 Π΄Π° сС присвои Π½ΠΎΠΌΠ΅Ρ€ Π½Π° слСдващото ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ 7.0.0, Π² ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΠΌΠ΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° нотация Π·Π° нСпряко ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ ΠΈ Ρ‰Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΠΌΠ΅ някои Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°Ρ‚ΠΎ try/catch. ΠŸΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ β€žΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡ‚Ρ€ΠΈΠΊΡ‚Π½ΠΎβ€œ ΠΈ β€žΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΡβ€œ сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€Π°Π½ΠΈ Ρ‡Ρ€Π΅Π· ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ посочванС Π½Π° вСрсията Π½Π° Perl Π² ΠΊΠΎΠ΄Π° Ρ‡Ρ€Π΅Π· ΠΏΡ€Π°Π³ΠΌΠ°Ρ‚Π° β€žΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° v7β€œ (строгият Π²Π΅Ρ‡Π΅ Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π·Π° β€žΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° v5.12β€œ ΠΈ ΠΏΠΎ-Π½ΠΎΠ²ΠΈ вСрсии ).

По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ сС ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π°Ρ‚ ΠΎΡ‚ Perl 5, с ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° стандартния процСс Π·Π° почистванС Π½Π° остарял синтаксис, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π±ΠΈΠ» ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΏΡ€Π΅Π΄ΠΈ. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° ΠΏΠΎ-стари Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»Π΅Π½ синтаксис ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ Π΄Π° бъдС прСустановСна Π² ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ със ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅. ΠŸΡ€Π΅Π΄Π»Π°Π³Π° сС Π΄Π° сС сигнализира ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° Perl 7 Π² ΠΊΠΎΠ΄Π° ΠΈ Π΄Π° сС раздСлят Π½ΠΎΠ²ΠΈ ΠΈ стари стиловС с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΏΡ€Π°Π³ΠΌΠ°Ρ‚Π° β€žΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° v7β€œ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€