perl 5.6 and ActivePerl 5.6 Released

pudge on 2000-03-28T11:27:38

Sarathy posted his announcement of perl 5.6. The announcement lists many changes, which, given the magnitude of this announcement, we'll list here. See the announcement for details.

  • Several experimental features, including: support for Unicode, fork() emulation on Windows, 64-bit support, lvalue subroutines, weak references, and new regular expression constructs.
  • Standard internal representation for strings is UTF-8. (EBCDIC support has been discontinued because of this.)
  • Better support for interpreter concurrency.
  • Lexically scoped warning categories.
  • "our" declarations for global variables.
  • String literals can be written using character ordinals. For example, v102.111.111 is the same as "foo".
  • New syntax for subroutine attributes. (The attrs pragma is now deprecated.)
  • Filehandles can be autovivified. ("open my $foo, $file or die;")
  • open() may be called with three arguments to avoid magic behavior.
  • Support for large files, where available (will be enabled by default.)
  • CHECK blocks. These are like END blocks, but will be called when the compilation of the main program ends.
  • POSIX character class syntax supported, e.g. /[[:alpha:]]/
  • pack() and unpack() support null-terminated strings, native data types, counted strings, and comments in templates
  • Support for binary numbers.
  • exists() and delete() work on array elements. Existence of a subroutine (as opposed to its defined-ness) may also be checked with exists(&sub)).
  • Where possible, Perl does the sane thing to deal with buffered data automatically.
  • binmode() can be used to set :crlf and :raw modes on dosish platforms. The open pragma does the same in the lexical scope, allowing the mode to be set for backticks.
  • Many modules now come standard, including Devel::DProf, Devel::Peek, and Pod::Parser.
  • Many modules have been substantially revised or rewritten.
  • The JPL ("Java Perl Lingo") distribution comes bundled with Perl.
  • Most platform ports have improved functionality. Support for EBCDIC platforms has been withdrawn due to standardization on UTF-8.
  • Much new documentation in the form of tutorials and reference information has been added.
  • Plenty of bug fixes.

perl 5.6 is now available in the src/ directory of CPAN, as perl-5.6.0.tar.gz and stable.tar.gz.

Also released is ActivePerl 5.6, available for Windows NT/2000, Solaris/SPARC, and Linux/x86. For Windows platforms, additional new features in ActivePerl are the long-awaited fork() implementation, Unicode system calls, Windows Installer, and CPAN extensions. See the release notes for more information, or just go download it.