summaryrefslogtreecommitdiff
path: root/pod/perldelta.pod
blob: b0d0b837f46e83002746d3885ac66e0c8320ec4d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
=head1 NAME

perldelta - what's new for perl5.006 (as of 5.005_54)

=head1 DESCRIPTION

This document describes differences between the 5.005 release and this one.

=head1 Incompatible Changes

=head2 Perl Source Incompatibilities

None known at this time.

=head2 C Source Incompatibilities

=over 4

=item C<PERL_POLLUTE>

Release 5.005 grandfathered old global symbol names by providing preprocessor
macros for extension source compatibility.  As of release 5.006, these
preprocessor definitions are not available by default.  You need to explicitly
compile perl with C<-DPERL_POLLUTE> in order to get these definitions.

=item C<PL_na> and C<dTHR> Issues

The C<PL_na> global is now thread local, so a C<dTHR> declaration is needed
in the scope in which it appears.  XSUBs should handle this automatically,
but if you have used C<PL_na> in support functions, you either need to
change the C<PL_na> to a local variable (which is recommended), or put in
a C<dTHR>.

=back

=head2 Binary Incompatibilities

This release is not binary compatible with the 5.005 release and its
maintenance versions.

=head1 Core Changes

Binary numbers are now supported as literals, in s?printf formats, and
C<oct()>:

	$answer = 0b101010;
	printf "The answer is: %b\n", oct("0b101010");

The length argument of C<syswrite()> is now optional.

Better 64-bit support -- but full support still a distant goal.  One
must Configure with -Duse64bits to get Configure to probe for the
extent of 64-bit support.  Depending on the platform (hints file) more
or less 64-awareness becomes available.  As of 5.005_54 at least
somewhat 64-bit aware platforms are HP-UX 11 or better, Solaris 2.6 or
better, IRIX 6.2 or better.  Naturally 64-bit platforms like Digital
UNIX and UNICOS also have 64-bit support.

=head1 Supported Platforms

VM/ESA is now supported.

Siemens BS200 is now supported.

The Mach CThreads (NeXTstep) are now supported by the Thread extension.

=head1 New tests

=over 4

=item	op/io_const

IO constants (SEEK_*, _IO*).
	
=item	op/io_dir

Directory-related IO methods (new, read, close, rewind, tied delete).

=item	op/io_multihomed

INET sockets with multi-homed hosts.

=item	op/io_poll

IO poll().

=item	op/io_unix

UNIX sockets.

=item	op/filetest

File test operators.

=item	op/lex_assign

Guard against lexicals leaking (internal stuff).

=back

=head1 Modules and Pragmata

=head2 Modules

Dumpvalue module provides screen dumps of Perl data.

=head2 Pragmata

Lexical warnings pragma, "use warning;", to control optional warnings.

Filetest pragma, to control the behaviour of filetests (C<-r> C<-w> ...).
Currently only one subpragma implemented, "use filetest 'access';",
that enables the use of access(2) or equivalent to check the
permissions instead of using stat(2) as usual.  This matters
in filesystems where there are ACLs (access control lists), the
stat(2) might lie, while access(2) knows better.

Todo.

=head1 Utility Changes

Todo.

=head1 Documentation Changes

Todo.

=head1 New Diagnostics

=item /%s/: Unrecognized escape \\%c passed through

(W) You used a backslash-character combination which is not recognized
by Perl.  This combination appears in an interpolated variable or a 
C<'>-delimited regular expression.

=item Unrecognized escape \\%c passed through

(W) You used a backslash-character combination which is not recognized
by Perl.

=head1 Obsolete Diagnostics

Todo.

=head1 BUGS

If you find what you think is a bug, you might check the headers of
recently posted articles in the comp.lang.perl.misc newsgroup.
There may also be information at http://www.perl.com/perl/, the Perl
Home Page.

If you believe you have an unreported bug, please run the B<perlbug>
program included with your release.  Make sure you trim your bug down
to a tiny but sufficient test case.  Your bug report, along with the
output of C<perl -V>, will be sent off to <F<perlbug@perl.com>> to be
analysed by the Perl porting team.

=head1 SEE ALSO

The F<Changes> file for exhaustive details on what changed.

The F<INSTALL> file for how to build Perl.

The F<README> file for general stuff.

The F<Artistic> and F<Copying> files for copyright information.

=head1 HISTORY

Written by Gurusamy Sarathy <F<gsar@umich.edu>>, with many contributions
from The Perl Porters.

Send omissions or corrections to <F<perlbug@perl.com>>.

=cut