Fix a couple URLs in perlhack
[p5sagit/p5-mst-13.2.git] / pod / perl594delta.pod
CommitLineData
6c7deadb 1=head1 NAME
2
3perldelta - what is new for perl v5.9.4
4
5=head1 DESCRIPTION
6
7This document describes differences between the 5.9.3 and the 5.9.4
8developement releases. See L<perl590delta>, L<perl591delta>, L<perl592delta>
9and L<perl593delta> for the differences between 5.8.0 and 5.9.3.
10
11=head1 Incompatible Changes
12
4db748fd 13=head2 chdir FOO
14
473aa102 15A bareword argument to chdir() is now recognized as a file handle.
4db748fd 16Earlier releases interpreted the bareword as a directory name.
17
ddc61b51 18=head2 Handling of pmc files
19
473aa102 20And old feature of perl is that before C<require> or C<use> look for a
21file with a F<.pm> extension, they will first look for a similar filename
22with a F<.pmc> extension. If this file is found, it will be loaded in
23place of any potentially existing file ending in a F<.pm> extension.
ddc61b51 24
473aa102 25Previously, F<.pmc> files were loaded only if more recent than the
26matching F<.pm> file. Starting with 5.9.4, they'll be always loaded if
27they exist. (This trick is used by Pugs.)
ddc61b51 28
29=head2 @- and @+ in patterns
30
31The special arrays C<@-> and C<@+> are no longer interpolated in regular
32expressions.
33
5d121f7f 34=head2 $AUTOLOAD can now be tainted
35
36If you call a subroutine by a tainted name, and if it defers to an
37AUTOLOAD function, then $AUTOLOAD will be (correctly) tainted.
38
6c7deadb 39=head1 Core Enhancements
40
6c20a8f9 41=head2 state() variables
42
ddc61b51 43=head2 UNIVERSAL:DOES()
44
6c7deadb 45=head1 Modules and Pragmata
46
473aa102 47C<encoding::warnings> is now a lexical pragma. (Although on older perls,
48which don't have support for lexical pragmas, it keeps its global
49behaviour.)
6c20a8f9 50
ddc61b51 51C<threads>
52
6c20a8f9 53=head2 New Core Modules
54
55=over 4
56
57=item *
58
473aa102 59C<Module::Build> has been added. It's an alternative to
60C<ExtUtils::MakeMaker> to build and install perl modules.
61
62=item *
63
64C<Module::Load> has been added. It's used to load indistinctively modules
65and files.
6c20a8f9 66
67=item *
68
ddc61b51 69C<Hash::Util::FieldHash> has been added. This module provides support for
70I<field hashes>: hashes that maintain an association of a reference with a
71value, in a thread-safe garbage-collected way.
6c20a8f9 72
73=item *
74
ddc61b51 75C<Win32API::File> has been added (for Windows builds). This module
76provides low-level access to Win32 system API calls for files/dirs.
6c20a8f9 77
78=back
79
6c7deadb 80=head1 Utility Changes
81
82=head1 Documentation
83
6c20a8f9 84=head2 New manpage, perlpragma
85
473aa102 86The L<perlpragma> manpage documents how to write one's own lexical
87pragmas in pure Perl.
88
6c20a8f9 89=head2 New manpage, perlreguts
90
473aa102 91The L<perlreguts> manpage, due to Yves Orton, describes internals of the
92Perl regular expression engine.
93
6c20a8f9 94=head2 New manpage, perlunitut
95
473aa102 96The L<perlunitut> manpage is an tutorial for programming with Unicode and
97string encodings in Perl, due to Juerd Waalboer.
98
6c7deadb 99=head1 Performance Enhancements
100
6c20a8f9 101Constants (Nicholas)
102
103Regular expressions (Yves)
104
6c7deadb 105=head1 Installation and Configuration Improvements
106
ddc61b51 107=head2 Ports
108
6c20a8f9 109Perl has been reported to work on DragonFlyBSD.
110
473aa102 111Many improvements have been made towards making Perl work correctly on
112z/OS.
113
ddc61b51 114=head2 Compilation improvements
115
116All F<ppport.h> files in the XS modules bundled with perl are now
117autogenerated at build time.
118
119=head2 New probes
120
121The configuration process now detects whether strlcat and strlcpy are
122available. When they are not available, perl's own version is used (from
123Russ Allbery's public domain implementation). Various places in the perl
124interpreter now uses them.
125
6c7deadb 126=head1 Selected Bug Fixes
127
473aa102 128=head2 PERL5SHELL and tainting
129
130On Windows, PERL5SHELL is now checked for taintedness.
131
132=head2 Using *FILE{IO}
133
134C<stat()> and C<-X> filetests now treat *FILE{IO} filehandles like *FILE
135filehandles.
136
6c7deadb 137=head1 New or Changed Diagnostics
138
139=head1 Changed Internals
140
6c20a8f9 141Arenas
142
143Mathoms and factorizations (many PP functions are now shared for several ops)
144
6c7deadb 145=head1 Known Problems
146
147=head2 Platform Specific Problems
148
149=head1 Reporting Bugs
150
151If you find what you think is a bug, you might check the articles
152recently posted to the comp.lang.perl.misc newsgroup and the perl
153bug database at http://bugs.perl.org/ . There may also be
154information at http://www.perl.org/ , the Perl Home Page.
155
156If you believe you have an unreported bug, please run the B<perlbug>
157program included with your release. Be sure to trim your bug down
158to a tiny but sufficient test case. Your bug report, along with the
159output of C<perl -V>, will be sent off to perlbug@perl.org to be
160analysed by the Perl porting team.
161
162=head1 SEE ALSO
163
164The F<Changes> file for exhaustive details on what changed.
165
166The F<INSTALL> file for how to build Perl.
167
168The F<README> file for general stuff.
169
170The F<Artistic> and F<Copying> files for copyright information.
171
172=cut