Documentation for a newer release is available. View Latest


Perl 5.30

Fedora 31 provides Perl 5.30. Notable changes include:

  • Unicode 12.1 is supported

  • The upper limit n specifiable in a regular expression quantifier of the form {m,n}` has been doubled to 65534

  • Wildcards in Unicode property value specifications are now partially supported

  • qr'\N{name}' is now supported

  • It is now possible to compile perl to always use thread-safe locale operations

  • Limited variable length lookbehind in regular expression pattern matching is now experimentally supported

  • Use faster method to convert to UTF-8

  • Turkic UTF-8 locales are now seamlessly supported

  • Eliminate opASSIGN macro usage from core

  • -Drv now means something on -DDEBUGGING builds

Removed features and incompatible changes include:

  • Removed modules: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug

  • Pattern delimiters now must be graphemes

  • Delimiters must now be graphemes

  • Some formerly deprecated uses of an unescaped left brace { in regular expression patterns are now illegal

  • Assigning non-zero to $[ is fatal

  • Previously deprecated sysread()/syswrite() on :utf8 handles now fatal

  • my() in false conditional prohibited

  • Fatalize $* and $#

  • Fatalize unqualified use of dump()

  • Remove File::Glob::glob()

  • pack() no longer can return malformed UTF-8

  • Any set of digits in the Common script are legal in a script run of another script

  • JSON::PP enable allow_nonref by default

  • Site paths moved from /usr/local/…/perl5 to /usr/local/…/perl5/5.30

The following features are deprecated:

  • In XS code, use of various macros dealing with UTF-8.

You can find additional information in the upstream perldelta document.