New and changed syntax $coderef->(PARAMS) A subroutine reference may now be suffixed with an arrow ... This new syntax follows the pattern of $hashref->{FOO} and $aryref->[$foo]: You may now write &$subref
New Diagnostics Several new conditions will trigger warnings that were silent before. ... The following new warnings and errors outline these.
New builtin methods The UNIVERSAL package automatically contains the following methods that are inherited
New and changed builtin constants __PACKAGE__ The current package name at compile time, or the undefined
New and changed builtin variables $^E Extended error message on some platforms. ... Not actually new, but newly documented.
It is the recommended method for new code. ... (Not actually new; just never documented before.)
New Opcode module and revised Safe module A new Opcode module supports the creation, manipulation and ... The revised Safe module has a new API and is implemented using the new Opcode module.
perldebug Although not new, this has been massively updated. ... perlsec Although not new, this has been massively updated.
Each new perl version tends to remove some undesirable warnings, while adding new warnings that may catch
Support for More Operating Systems Support for the following operating systems is new in Perl 5.004.
Math::Trig This new module provides a simpler interface to parts of Math::Complex for those who need
perl_eval_pv A new function handy for eval'ing strings of Perl code inside C code. ... New extensions must use the new hash access functions and macros if they wish to use SV* keys.
Sends converted HTML to standard output The pod2html utility included with Perl 5.004 is entirely new
Sends converted HTML to standard output The pod2html utility included with Perl 5.004 is entirely new
We suggest, but do not require, that you use the IO::* modules in new code.
Foo.pm in @INC" error now lists @INC Compilation option: Binary compatibility with 5.003 There is a new
Foo.pm in @INC" error now lists @INC Compilation option: Binary compatibility with 5.003 There is a new
Fcntl New constants in the existing Fcntl modules are now supported, provided that your operating system
The new restrictions when tainting include: No glob() or <*> These operators may spawn the C shell
Pragmata Six new pragmatic modules exist: use autouse MODULE => qw(sub1 sub2 sub3) Defers require
Three new compilation flags are recognized by malloc.c.
Module information summary Brand new modules, arranged by topic rather than strictly alphabetically: