ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಬಿಡುಗಡೆ ಪರ್ಲ್ 5.30.0

11 ತಿಂಗಳ ಅಭಿವೃದ್ಧಿಯ ನಂತರ ನಡೆಯಿತು ಪರ್ಲ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಹೊಸ ಸ್ಥಿರ ಶಾಖೆಯ ಬಿಡುಗಡೆ - 5.30. ಹೊಸ ಬಿಡುಗಡೆಯನ್ನು ಸಿದ್ಧಪಡಿಸುವಲ್ಲಿ, ಸುಮಾರು 620 ಸಾವಿರ ಸಾಲುಗಳ ಕೋಡ್ ಅನ್ನು ಬದಲಾಯಿಸಲಾಯಿತು, ಬದಲಾವಣೆಗಳು 1300 ಫೈಲ್‌ಗಳ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರಿತು ಮತ್ತು 58 ಡೆವಲಪರ್‌ಗಳು ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ಭಾಗವಹಿಸಿದರು.

ಆರು ವರ್ಷಗಳ ಹಿಂದೆ ಅನುಮೋದಿಸಲಾದ ಸ್ಥಿರ ಅಭಿವೃದ್ಧಿ ವೇಳಾಪಟ್ಟಿಗೆ ಅನುಗುಣವಾಗಿ ಶಾಖೆ 5.30 ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲಾಗಿದೆ, ಇದು ವರ್ಷಕ್ಕೊಮ್ಮೆ ಹೊಸ ಸ್ಥಿರ ಶಾಖೆಗಳ ಬಿಡುಗಡೆ ಮತ್ತು ಪ್ರತಿ ಮೂರು ತಿಂಗಳಿಗೊಮ್ಮೆ ಸರಿಪಡಿಸುವ ಬಿಡುಗಡೆಗಳನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಸುಮಾರು ಒಂದು ತಿಂಗಳಲ್ಲಿ, ಪರ್ಲ್ 5.30.1 ರ ಮೊದಲ ಸರಿಪಡಿಸುವ ಬಿಡುಗಡೆಯನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲು ಯೋಜಿಸಲಾಗಿದೆ, ಇದು ಪರ್ಲ್ 5.30.0 ಅನುಷ್ಠಾನದ ಸಮಯದಲ್ಲಿ ಗುರುತಿಸಲಾದ ಅತ್ಯಂತ ಗಮನಾರ್ಹ ದೋಷಗಳನ್ನು ಸರಿಪಡಿಸುತ್ತದೆ. Perl 5.30 ಬಿಡುಗಡೆಯ ಜೊತೆಗೆ, 5.26 ಶಾಖೆಗೆ ಬೆಂಬಲವನ್ನು ನಿಲ್ಲಿಸಲಾಯಿತು, ನಿರ್ಣಾಯಕ ಭದ್ರತಾ ಸಮಸ್ಯೆಗಳನ್ನು ಗುರುತಿಸಿದರೆ ಮಾತ್ರ ಭವಿಷ್ಯದಲ್ಲಿ ನವೀಕರಣಗಳನ್ನು ಬಿಡುಗಡೆ ಮಾಡಬಹುದು. ಪ್ರಾಯೋಗಿಕ ಶಾಖೆ 5.31 ರ ಅಭಿವೃದ್ಧಿ ಪ್ರಕ್ರಿಯೆಯು ಸಹ ಪ್ರಾರಂಭವಾಗಿದೆ, ಅದರ ಆಧಾರದ ಮೇಲೆ ಪರ್ಲ್ 2020 ರ ಸ್ಥಿರ ಬಿಡುಗಡೆಯು ಮೇ 5.32 ರಲ್ಲಿ ರೂಪುಗೊಳ್ಳುತ್ತದೆ.

ಕೀ ಬದಲಾವಣೆಗಳನ್ನು:

  • "" ಕಾರ್ಯಾಚರಣೆಗಳಿಗೆ ಪ್ರಾಯೋಗಿಕ ಬೆಂಬಲವನ್ನು ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳಿಗೆ ಸೇರಿಸಲಾಗಿದೆ.(?‹!ಮಾದರಿ)"ಮತ್ತು"(?‹=ಮಾದರಿ)» ಹಿಂದೆ ಸಂಸ್ಕರಿಸಿದ ಹೆಸರಿನ ಟೆಂಪ್ಲೇಟ್‌ಗಳಿಗೆ ಸೀಮಿತ ಪ್ರವೇಶಕ್ಕಾಗಿ. ಮಾದರಿಯ ವ್ಯಾಖ್ಯಾನವು ಉಲ್ಲೇಖ ಬಿಂದುವಿನ 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, ಸಿ ಭಾಷೆಯಲ್ಲಿ ವಿಸ್ತರಣೆಗಳ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ;
  • ಬಹು-ಥ್ರೆಡ್ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಬೆಂಬಲಿಸುವ (-Accflags='-DUSE_THREAD_SAFE_LOCALE') ಲೊಕೇಲ್‌ನೊಂದಿಗೆ ಕಾರ್ಯಾಚರಣೆಗಳ ಅನುಷ್ಠಾನದೊಂದಿಗೆ ಪರ್ಲ್ ಅನ್ನು ನಿರ್ಮಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಹಿಂದೆ, ಪರ್ಲ್‌ನ ಬಹು-ಥ್ರೆಡ್ ಆವೃತ್ತಿಯನ್ನು ನಿರ್ಮಿಸುವಾಗ ಮಾತ್ರ ಅಂತಹ ಅನುಷ್ಠಾನವನ್ನು ಬಳಸಲಾಗುತ್ತಿತ್ತು, ಆದರೆ ಈಗ ಯಾವುದೇ ನಿರ್ಮಾಣಕ್ಕಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು;
  • "-Dv" (ವರ್ಧಿತ ಡೀಬಗ್ ಮಾಡುವಿಕೆ ಔಟ್‌ಪುಟ್) ಮತ್ತು "-Dr" (ರೀಜೆಕ್ಸ್ ಡೀಬಗ್ ಮಾಡುವಿಕೆ) ಫ್ಲ್ಯಾಗ್‌ಗಳನ್ನು ಸಂಯೋಜಿಸುವುದರಿಂದ ಈಗ ಎಲ್ಲಾ ಸಂಭವನೀಯ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿ ಡೀಬಗ್ ಮಾಡುವ ವಿಧಾನಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ;
  • ಈ ಹಿಂದೆ ಅಸಮ್ಮತಿಸಿದ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ:
    • ಈಗ ಲೈನ್ ವಿಭಜಕ ಮತ್ತು ವೈಲ್ಡ್‌ಕಾರ್ಡ್ ಅಕ್ಷರಗಳಾಗಿ ಲಭ್ಯವಿದೆ ಅನುಮತಿಸಲಾಗಿದೆ ಮಾತ್ರ ಬಳಸಿ ಗ್ರಾಫಿಮ್‌ಗಳು (ಸಂಯೋಜಿತ ಯೂನಿಕೋಡ್ ಅಕ್ಷರಗಳನ್ನು ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ).
    • ಸ್ಥಗಿತಗೊಳಿಸಲಾಗಿದೆ "{" ಅಕ್ಷರವನ್ನು ತಪ್ಪಿಸಿಕೊಳ್ಳದೆ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳಲ್ಲಿ ಬಳಸುವ ಕೆಲವು ದೀರ್ಘ-ಬಳಕೆಯಲ್ಲಿಲ್ಲದ ರೂಪಗಳಿಗೆ ಬೆಂಬಲ.
    • ಇದು ನಿಷೇಧಿಸಲಾಗಿದೆ ":utf8" ಹ್ಯಾಂಡ್ಲರ್‌ಗಳೊಂದಿಗೆ sysread(), syswrite(), recv() ಮತ್ತು send() ಕಾರ್ಯಗಳನ್ನು ಬಳಸಿ.
    • ಅಂತರ್ಗತವಾಗಿ ತಪ್ಪಾದ ಷರತ್ತುಬದ್ಧ ಹೇಳಿಕೆಗಳಲ್ಲಿ "ನನ್ನ" ವ್ಯಾಖ್ಯಾನಗಳನ್ನು ಬಳಸುವುದನ್ನು ನಿಷೇಧಿಸಲಾಗಿದೆ (ಉದಾಹರಣೆಗೆ, "ನನ್ನ $x ವೇಳೆ 0").
    • "$*" ಮತ್ತು "$#" ವಿಶೇಷ ವೇರಿಯೇಬಲ್‌ಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ.
      ಡಂಪ್() ಕಾರ್ಯದ ಸೂಚ್ಯ ಕರೆಗೆ ಬೆಂಬಲವನ್ನು ನಿಲ್ಲಿಸಲಾಗಿದೆ (ನೀವು ಈಗ ಸ್ಪಷ್ಟವಾಗಿ CORE::dump() ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕು).

    • ಫೈಲ್::Glob::glob ಕಾರ್ಯವನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ (ನೀವು ಫೈಲ್::Glob::bsd_glob ಅನ್ನು ಬಳಸಬೇಕು).
    • ತಪ್ಪಾದ ಯುನಿಕೋಡ್ ಅನುಕ್ರಮಗಳನ್ನು ಹಿಂತಿರುಗಿಸುವುದರ ವಿರುದ್ಧ ಪ್ಯಾಕ್() ಗೆ ರಕ್ಷಣೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
    • 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]/” ನಂತಹ ನಮೂನೆಗಳ ಪ್ರಕ್ರಿಯೆಯು ಗಮನಾರ್ಹವಾಗಿ ವೇಗಗೊಂಡಿದೆ.
  • Minix3 ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗೆ ಬೆಂಬಲವನ್ನು ಮರುಸ್ಥಾಪಿಸಲಾಗಿದೆ. ಮೈಕ್ರೋಸಾಫ್ಟ್ ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋ 2019 ಕಂಪೈಲರ್ (ವಿಷುಯಲ್ ಸಿ++ 14.2) ಬಳಸಿ ನಿರ್ಮಿಸಲು ಸಾಧ್ಯವಿದೆ;
  • ಮೂಲ ಪ್ಯಾಕೇಜ್‌ನಲ್ಲಿ ಸೇರಿಸಲಾದ ಮಾಡ್ಯೂಲ್‌ಗಳ ನವೀಕರಿಸಿದ ಆವೃತ್ತಿಗಳು. ಮುಖ್ಯ ಸಂಯೋಜನೆಯಿಂದ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ ಬಿ::ಡೀಬಗ್ и ಸ್ಥಳ:: ಸಂಕೇತಗಳು.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ