REV2: Binary number support
[p5sagit/p5-mst-13.2.git] / pod / perldelta.pod
1 =head1 NAME
2
3 perldelta - what's new for perl5.006 (as of 5.005_54)
4
5 =head1 DESCRIPTION
6
7 This document describes differences between the 5.005 release and this one.
8
9 =head1 Incompatible Changes
10
11 =head2 Perl Source Incompatibilities
12
13 None known at this time.
14
15 =head2 C Source Incompatibilities
16
17 =over 4
18
19 =item C<PERL_POLLUTE>
20
21 Release 5.005 grandfathered old global symbol names by providing preprocessor
22 macros for extension source compatibility.  As of release 5.006, these
23 preprocessor definitions are not available by default.  You need to explicitly
24 compile perl with C<-DPERL_POLLUTE> in order to get these definitions.
25
26 =item C<PL_na> and C<dTHR> Issues
27
28 The C<PL_na> global is now thread local, so a C<dTHR> declaration is needed
29 in the scope in which it appears.  XSUBs should handle this automatically,
30 but if you have used C<PL_na> in support functions, you either need to
31 change the C<PL_na> to a local variable (which is recommended), or put in
32 a C<dTHR>.
33
34 =back
35
36 =head2 Binary Incompatibilities
37
38 This release is not binary compatible with the 5.005 release and its
39 maintenance versions.
40
41 =head1 Core Changes
42
43 Binary numbers are now supported as literals, in s?printf formats, and
44 C<oct()>:
45
46         $answer = 0b101010;
47         printf "The answer is: %b\n", oct("0b101010");
48
49 The length argument of C<syswrite()> is now optional.
50
51 Better 64-bit support -- but full support still a distant goal.  One
52 must Configure with -Duse64bits to get Configure to probe for the
53 extent of 64-bit support.  Depending on the platform (hints file) more
54 or less 64-awareness becomes available.  As of 5.005_54 at least
55 somewhat 64-bit aware platforms are HP-UX 11 or better, Solaris 2.6 or
56 better, IRIX 6.2 or better.  Naturally 64-bit platforms like Digital
57 UNIX and UNICOS also have 64-bit support.
58
59 =head1 Supported Platforms
60
61 VM/ESA is now supported.
62
63 Siemens BS200 is now supported.
64
65 The Mach CThreads (NeXTstep) are now supported by the Thread extension.
66
67 =head1 New tests
68
69 =over 4
70
71 =item   op/io_const
72
73 IO constants (SEEK_*, _IO*).
74         
75 =item   op/io_dir
76
77 Directory-related IO methods (new, read, close, rewind, tied delete).
78
79 =item   op/io_multihomed
80
81 INET sockets with multi-homed hosts.
82
83 =item   op/io_poll
84
85 IO poll().
86
87 =item   op/io_unix
88
89 UNIX sockets.
90
91 =item   op/filetest
92
93 File test operators.
94
95 =item   op/lex_assign
96
97 Guard against lexicals leaking (internal stuff).
98
99 =back
100
101 =head1 Modules and Pragmata
102
103 Lexical warnings pragma, "use warning;", to control optional warnings.
104
105 Filetest pragma, to control the behaviour of filetests (C<-r> C<-w> ...).
106 Currently only one subpragma implemented, "use filetest 'access';",
107 that enables the use of access(2) or equivalent to check the
108 permissions instead of using stat(2) as usual.  This matters
109 in filesystems where there are ACLs (access control lists), the
110 stat(2) might lie, while access(2) knows better.
111
112 Todo.
113
114 =head1 Utility Changes
115
116 Todo.
117
118 =head1 Documentation Changes
119
120 Todo.
121
122 =head1 New Diagnostics
123
124 =item /%s/: Unrecognized escape \\%c passed through
125
126 (W) You used a backslash-character combination which is not recognized
127 by Perl.  This combination appears in an interpolated variable or a 
128 C<'>-delimited regular expression.
129
130 =item Unrecognized escape \\%c passed through
131
132 (W) You used a backslash-character combination which is not recognized
133 by Perl.
134
135 =head1 Obsolete Diagnostics
136
137 Todo.
138
139 =head1 BUGS
140
141 If you find what you think is a bug, you might check the headers of
142 recently posted articles in the comp.lang.perl.misc newsgroup.
143 There may also be information at http://www.perl.com/perl/, the Perl
144 Home Page.
145
146 If you believe you have an unreported bug, please run the B<perlbug>
147 program included with your release.  Make sure you trim your bug down
148 to a tiny but sufficient test case.  Your bug report, along with the
149 output of C<perl -V>, will be sent off to <F<perlbug@perl.com>> to be
150 analysed by the Perl porting team.
151
152 =head1 SEE ALSO
153
154 The F<Changes> file for exhaustive details on what changed.
155
156 The F<INSTALL> file for how to build Perl.
157
158 The F<README> file for general stuff.
159
160 The F<Artistic> and F<Copying> files for copyright information.
161
162 =head1 HISTORY
163
164 Written by Gurusamy Sarathy <F<gsar@umich.edu>>, with many contributions
165 from The Perl Porters.
166
167 Send omissions or corrections to <F<perlbug@perl.com>>.
168
169 =cut