=item *
-The Windows select() implementation now supports all empty C<fd_set>s
-more correctly.
-
-=item *
-
The C<syntax> category was removed from 5 warnings that should only be in
C<deprecated>.
=item *
-F<perl5db.pl> now supports C<LVALUE> subroutines. Additionally, the debugger now correctly handles proxy constant subroutines, and subroutine stubs.
+F<perl5db.pl> now supports C<LVALUE> subroutines. Additionally, the
+debugger now correctly handles proxy constant subroutines, and
+subroutine stubs.
=item *
=item *
-On Windows, C<'.\foo'> and C<'..\foo'> were treated differently than
-C<'./foo'> and C<'../foo'> by C<do> and C<require> [RT #63492].
-
-=item *
-
Assigning a format to a glob could corrupt the format; e.g.:
*bar=*foo{FORMAT}; # foo format now bad
=back
-=item Win32
+=item Windows
=over 4
=item *
-Initial support for mingw64 is now available.
+Perl 5.12 supports Windows 2000 and later. The supporting code for
+legacy versions of Windows is still included, but will be removed
+during the next development cycle.
=item *
-Various bits of Perl's build infrastructure are no longer converted to
-win32 line endings at release time. If this hurts you, please report the
-problem with the L<perlbug> program included with perl.
+Initial support for building Perl with MinGW-w64 is now available.
=item *
-Always add a manifest resource to C<perl.exe> to specify the C<trustInfo>
+F<perl.exe> now includes a manifest resource to specify the C<trustInfo>
settings for Windows Vista and later. Without this setting Windows
-will treat C<perl.exe> as a legacy application and apply various
+would treat F<perl.exe> as a legacy application and apply various
heuristics like redirecting access to protected file system areas
(like the "Program Files" folder) to the users "VirtualStore"
instead of generating a proper "permission denied" error.
-For VC8 and VC9 this manifest setting is automatically generated by
-the compiler/linker (together with the binding information for their
-respective runtime libraries); for all other compilers we need to
-embed the manifest resource explicitly in the external resource file.
+The manifest resource also requests the Microsoft Common-Controls
+version 6.0 (themed controls introduced in Windows XP). Check out the
+Win32::VisualStyles module on CPAN to switch back to old style
+unthemed controls for legacy applications.
+
+=item *
+
+The C<-t> filetest operator now only returns true if the filehandle
+is connected to a console window. In previous versions of Perl it
+would return true for all character mode devices, including F<NUL>
+and F<LPT1>.
+
+=item *
+
+The C<-p> filetest operator now works correctly, and the
+Fcntl::S_IFIFO constant is defined when Perl is compiled with
+Microsoft Visual C. In previous Perl versions C<-p> always
+returned a false value, and the Fcntl::S_IFIFO constant
+was not defined.
+
+This bug is specific to Microsoft Visual C and never affected
+Perl binaries built with MinGW.
+
+=item *
+
+The socket error codes are now more widely supported: The POSIX
+module will define the symbolic names, like POSIX::EWOULDBLOCK,
+and stringification of socket error codes in $! works as well
+now;
+
+ C:\>perl -MPOSIX -E "$!=POSIX::EWOULDBLOCK; say $!"
+ A non-blocking socket operation could not be completed immediately.
+
+=item *
+
+flock() will now set sensible error codes in $!. Previous Perl versions
+copied the value of $^E into $!, which caused much confusion.
+
+=item *
+
+select() now supports all empty C<fd_set>s more correctly.
-This change also requests the Microsoft Common-Controls version 6.0
-(themed controls introduced in Windows XP) via the dependency list
-in the assembly manifest. For VC8 and VC9 this is specified using the
-C</manifestdependency> linker commandline option instead.
+=item *
+
+C<'.\foo'> and C<'..\foo'> were treated differently than
+C<'./foo'> and C<'../foo'> by C<do> and C<require> [RT #63492].
=item *
Improved message window handling means that C<alarm> and C<kill> messages
will no longer be dropped under race conditions.
+=item *
+
+Various bits of Perl's build infrastructure are no longer converted to
+win32 line endings at release time. If this hurts you, please report the
+problem with the L<perlbug> program included with perl.
+
=back
=back
=item *
-Several porters have reported mysterious crashes when Perl's entire test suite is run after a build on certain Windows 2000 systems. When run by hand, the individual tests reportedly work fine.
+Several porters have reported mysterious crashes when Perl's entire
+test suite is run after a build on certain Windows 2000 systems. When
+run by hand, the individual tests reportedly work fine.
=back
Perl 5.10.0 and contains over 750,000 lines of changes across over
3000 files from over 200 authors and committers.
-Perl continues to flourish into its third decade thanks to a vibrant community of users and developers. The following people are known to have contributed the improvements that became Perl 5.12.0:
+Perl continues to flourish into its third decade thanks to a vibrant
+community of users and developers. The following people are known to
+have contributed the improvements that became Perl 5.12.0:
Aaron Crane, Abe Timmerman, Abhijit Menon-Sen, Abigail, Adam Russell,
Adriano Ferreira, Ævar Arnfjörð Bjarmason, Alan Grover, Alexandr