Document Configure -Uinstallusrbinperl.
[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 =head2 Modules
104
105 Dumpvalue module provides screen dumps of Perl data.
106
107 =head2 Pragmata
108
109 Lexical warnings pragma, "use warning;", to control optional warnings.
110
111 Filetest pragma, to control the behaviour of filetests (C<-r> C<-w> ...).
112 Currently only one subpragma implemented, "use filetest 'access';",
113 that enables the use of access(2) or equivalent to check the
114 permissions instead of using stat(2) as usual.  This matters
115 in filesystems where there are ACLs (access control lists), the
116 stat(2) might lie, while access(2) knows better.
117
118 Todo.
119
120 =head1 Utility Changes
121
122 Todo.
123
124 =head1 Documentation Changes
125
126 perlopentut, tutorial on opening things in Perl, was added.
127
128 perlreftut, tutorial on references, was added.
129
130 =head1 New Diagnostics
131
132 =item /%s/: Unrecognized escape \\%c passed through
133
134 (W) You used a backslash-character combination which is not recognized
135 by Perl.  This combination appears in an interpolated variable or a 
136 C<'>-delimited regular expression.
137
138 =item Unrecognized escape \\%c passed through
139
140 (W) You used a backslash-character combination which is not recognized
141 by Perl.
142
143 =item Missing command in piped open
144
145 (W) You used the C<open(FH, "| command")> or C<open(FH, "command |")>
146 construction, but the command was missing or blank.
147
148 =head1 Obsolete Diagnostics
149
150 Todo.
151
152 =head1 Configuration Changes
153
154 You can use "Configure -Uinstallusrbinperl" which causes installperl
155 to skip installing perl also as /usr/bin/perl.  This is useful if you
156 prefer not to modify /usr/bin for some reason or another but harmful
157 because many scripts assume to find Perl in /usr/bin/perl.
158
159 =head1 BUGS
160
161 If you find what you think is a bug, you might check the headers of
162 recently posted articles in the comp.lang.perl.misc newsgroup.
163 There may also be information at http://www.perl.com/perl/, the Perl
164 Home Page.
165
166 If you believe you have an unreported bug, please run the B<perlbug>
167 program included with your release.  Make sure you trim your bug down
168 to a tiny but sufficient test case.  Your bug report, along with the
169 output of C<perl -V>, will be sent off to <F<perlbug@perl.com>> to be
170 analysed by the Perl porting team.
171
172 =head1 SEE ALSO
173
174 The F<Changes> file for exhaustive details on what changed.
175
176 The F<INSTALL> file for how to build Perl.
177
178 The F<README> file for general stuff.
179
180 The F<Artistic> and F<Copying> files for copyright information.
181
182 =head1 HISTORY
183
184 Written by Gurusamy Sarathy <F<gsar@umich.edu>>, with many contributions
185 from The Perl Porters.
186
187 Send omissions or corrections to <F<perlbug@perl.com>>.
188
189 =cut