Commit | Line | Data |
d4432bb5 |
1 | =head1 NAME |
cc0fca54 |
2 | |
55e8fca7 |
3 | perldelta - what is new for perl v5.9.0 |
cc0fca54 |
4 | |
5 | =head1 DESCRIPTION |
6 | |
55e8fca7 |
7 | This document describes differences between the 5.8.0 release and |
8 | the 5.9.0 release. |
f39f21d8 |
9 | |
55e8fca7 |
10 | =head1 Incompatible Changes |
87880fe6 |
11 | |
55e8fca7 |
12 | =head1 Core Enhancements |
87880fe6 |
13 | |
13cf4046 |
14 | =head2 Tied Arrays with Negative Array Indices |
15 | |
16 | Formerly, the indices passed to C<FETCH>, C<STORE>, C<EXISTS>, and |
17 | C<DELETE> methods in tied array class were always non-negative. If |
18 | the actual argument was negative, Perl would call FETCHSIZE implicitly |
19 | and add the result to the index before passing the result to the tied |
20 | array method. This behavior is now optional. If the tied array class |
21 | contains a package variable named C<$NEGATIVE_INDICES> which is set to |
22 | a true value, negative values will be passed to C<FETCH>, C<STORE>, |
23 | C<EXISTS>, and C<DELETE> unchanged. |
24 | |
caec1979 |
25 | =head2 Fewer parentheses needed with C<? :> |
26 | |
27 | The grammar of the conditional operator (C<$x ? $y : $z>) has been |
28 | broadened so that any operator may appear between the C<?> and the |
29 | C<:> without parentheses. Previously, the comma operator and the |
30 | low-precedence logical operators had required parentheses in this |
31 | context. For instance, you may now write |
32 | |
33 | $x ? $a and $b : $c |
34 | |
35 | as a shorter version of the more explicit |
36 | |
37 | $x ? ($a and $b) : $c |
38 | |
39 | Perl is now compatible with C in this regard. However, writing the |
40 | parentheses is still recommended as a matter of style. |
41 | |
55e8fca7 |
42 | =head1 Modules and Pragmata |
87880fe6 |
43 | |
55e8fca7 |
44 | =head1 Utility Changes |
87880fe6 |
45 | |
55e8fca7 |
46 | =head1 New Documentation |
87880fe6 |
47 | |
55e8fca7 |
48 | =head1 Performance Enhancements |
87880fe6 |
49 | |
55e8fca7 |
50 | =head1 Installation and Configuration Improvements |
87880fe6 |
51 | |
55e8fca7 |
52 | =head1 Selected Bug Fixes |
87880fe6 |
53 | |
55e8fca7 |
54 | =head1 New or Changed Diagnostics |
f39f21d8 |
55 | |
77c8cf41 |
56 | =head1 Changed Internals |
f39f21d8 |
57 | |
ebc20e9a |
58 | =head1 New Tests |
77c8cf41 |
59 | |
f39f21d8 |
60 | =head1 Known Problems |
61 | |
51bcf69b |
62 | =head1 Platform Specific Problems |
63 | |
cc0fca54 |
64 | =head1 Reporting Bugs |
65 | |
d4ad863d |
66 | If you find what you think is a bug, you might check the articles |
67 | recently posted to the comp.lang.perl.misc newsgroup and the perl |
e6dc8c81 |
68 | bug database at http://bugs.perl.org/ . There may also be |
f224927c |
69 | information at http://www.perl.com/ , the Perl Home Page. |
cc0fca54 |
70 | |
71 | If you believe you have an unreported bug, please run the B<perlbug> |
72 | program included with your release. Be sure to trim your bug down |
73 | to a tiny but sufficient test case. Your bug report, along with the |
d4ad863d |
74 | output of C<perl -V>, will be sent off to perlbug@perl.org to be |
cc0fca54 |
75 | analysed by the Perl porting team. |
76 | |
77 | =head1 SEE ALSO |
78 | |
79 | The F<Changes> file for exhaustive details on what changed. |
80 | |
81 | The F<INSTALL> file for how to build Perl. |
82 | |
83 | The F<README> file for general stuff. |
84 | |
85 | The F<Artistic> and F<Copying> files for copyright information. |
86 | |
cc0fca54 |
87 | =cut |