Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
PERL585DELTA(1)	       Perl Programmers	Reference Guide	       PERL585DELTA(1)

       perl585delta - what is new for perl v5.8.5

       This document describes differences between the 5.8.4 release and the
       5.8.5 release.

Incompatible Changes
       There are no changes incompatible with 5.8.4.

Core Enhancements
       Perl's regular expression engine	now contains support for matching on
       the intersection	of two Unicode character classes. You can also now
       refer to	user-defined character classes from within other user defined
       character classes.

Modules	and Pragmata
       o   Carp	improved to work nicely	with Safe. Carp's message reporting
	   should now be anomaly free -	it will	always print out line number

       o   CGI upgraded	to version 3.05

       o   charnames now avoids	clobbering $_

       o   Digest upgraded to version 1.08

       o   Encode upgraded to version 2.01

       o   FileCache upgraded to version 1.04

       o   libnet upgraded to version 1.19

       o   Pod::Parser upgraded	to version 1.28

       o   Pod::Perldoc	upgraded to version 3.13

       o   Pod::LaTeX upgraded to version 0.57

       o   Safe	now works properly with	Carp

       o   Scalar-List-Utils upgraded to version 1.14

       o   Shell's documentation has been re-written, and its historical
	   partial auto-quoting	of command arguments can now be	disabled.

       o   Test	upgraded to version 1.25

       o   Test::Harness upgraded to version 2.42

       o   Time::Local upgraded	to version 1.10

       o   Unicode::Collate upgraded to	version	0.40

       o   Unicode::Normalize upgraded to version 0.30

Utility	Changes
   Perl's debugger
       The debugger can	now emulate stepping backwards,	by restarting and
       rerunning all bar the last command from a saved command history.

       h2ph is now able	to understand a	very limited set of C inline functions
       -- basically, the inline	functions that look like CPP macros. This has
       been introduced to deal with some of the	headers	of the newest versions
       of the glibc. The standard warning still	applies; to quote h2ph's
       documentation, you may need to dicker with the files produced.

Installation and Configuration Improvements
       Perl 5.8.5 should build cleanly from source on LynxOS.

Selected Bug Fixes
       o   The in-place	sort optimisation introduced in	5.8.4 had a bug. For
	   example, in code such as

	       @a = sort ($b, @a)

	   the result would omit the value $b. This is now fixed.

       o   The optimisation for	unnecessary assignments	introduced in 5.8.4
	   could give spurious warnings. This has been fixed.

       o   Perl	should now correctly detect and	read BOM-marked	and (BOMless)
	   UTF-16 scripts of either endianness.

       o   Creating a new thread when weak references exist was	buggy, and
	   would often cause warnings at interpreter destruction time. The
	   known bug is	now fixed.

       o   Several obscure bugs	involving manipulating Unicode strings with
	   "substr" have been fixed.

       o   Previously if Perl's	file globbing function encountered a directory
	   that	it did not have	permission to open it would return
	   immediately,	leading	to unexpected truncation of the	list of
	   results. This has been fixed, to be consistent with Unix shells'
	   globbing behaviour.

       o   Thread creation time	could vary wildly between identical runs. This
	   was caused by a poor	hashing	algorithm in the thread	cloning
	   routines, which has now been	fixed.

       o   The internals of the	ithreads implementation	were not checking if
	   OS-level thread creation had	failed.	threads->create() now returns
	   "undef" in if thread	creation fails instead of crashing perl.

New or Changed Diagnostics
       o   Perl	-V has several improvements

	   o   correctly outputs local patch names that	contain	embedded code
	       snippets	or other characters that used to confuse it.

	   o   arguments to -V that look like regexps will give	multiple lines
	       of output.

	   o   a trailing colon	suppresses the linefeed	and ';'	 terminator,
	       allowing	embedding of queries into shell	commands.

	   o   a leading colon removes the 'name=' part	of the response,
	       allowing	mapping	to any name.

       o   When	perl fails to find the specified script, it now	outputs	a
	   second line suggesting that the user	use the	"-S" flag:

	       $ perl5.8.5
	       Can't open perl script "": No such file or directory.
	       Use -S to search	$PATH for it.

Changed	Internals
       The Unicode character class files used by the regular expression	engine
       are now built at	build time from	the supplied Unicode consortium	data
       files, instead of being shipped prebuilt. This makes the	compressed
       Perl source tarball about 200K smaller. A side effect is	that the
       layout of files inside lib/unicore has changed.

Known Problems
       The regression test t/uni/class.t is now	performing considerably	more
       tests, and can take several minutes to run even on a fast machine.

Platform Specific Problems
       This release is known not to build on Windows 95.

Reporting Bugs
       If you find what	you think is a bug, you	might check the	articles
       recently	posted to the comp.lang.perl.misc newsgroup and	the perl bug
       database	at  There	may also be information	at, the	Perl Home Page.

       If you believe you have an unreported bug, please run the perlbug
       program included	with your release.  Be sure to trim your bug down to a
       tiny but	sufficient test	case.  Your bug	report,	along with the output
       of "perl	-V", will be sent off to to be	analysed by
       the Perl	porting	team.  You can browse and search the Perl 5 bugs at

       The Changes file	for exhaustive details on what changed.

       The INSTALL file	for how	to build Perl.

       The README file for general stuff.

       The Artistic and	Copying	files for copyright information.

perl v5.35.5			  2021-09-26		       PERL585DELTA(1)

NAME | DESCRIPTION | Incompatible Changes | Core Enhancements | Modules and Pragmata | Utility Changes | Installation and Configuration Improvements | Selected Bug Fixes | New or Changed Diagnostics | Changed Internals | Known Problems | Platform Specific Problems | Reporting Bugs | SEE ALSO

Want to link to this manual page? Use this URL:

home | help