This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
add 5.12.5 to perlhist
[perl5.git] / pod / perlport.pod
index 8450fc7..110c9a2 100644 (file)
@@ -212,7 +212,7 @@ them in big-endian mode.  To avoid this problem in network (socket)
 connections use the C<pack> and C<unpack> formats C<n> and C<N>, the
 "network" orders.  These are guaranteed to be portable.
 
-As of perl 5.9.2, you can also use the C<E<gt>> and C<E<lt>> modifiers
+As of perl 5.10.0, you can also use the C<E<gt>> and C<E<lt>> modifiers
 to force big- or little-endian byte-order.  This is useful if you want
 to store signed integers or 64-bit integers, for example.
 
@@ -236,9 +236,9 @@ transferring or storing raw binary numbers.
 
 One can circumnavigate both these problems in two ways.  Either
 transfer and store numbers always in text format, instead of raw
-binary, or else consider using modules like Data::Dumper (included in
-the standard distribution as of Perl 5.005) and Storable (included as
-of perl 5.8).  Keeping all data as text significantly simplifies matters.
+binary, or else consider using modules like Data::Dumper and Storable
+(included as of perl 5.8).  Keeping all data as text significantly
+simplifies matters.
 
 The v-strings are portable only up to v2147483647 (0x7FFFFFFF), that's
 how far EBCDIC, or more precisely UTF-EBCDIC will go.
@@ -622,7 +622,7 @@ format.
 Don't assume that the epoch starts at 00:00:00, January 1, 1970,
 because that is OS- and implementation-specific.  It is better to
 store a date in an unambiguous representation.  The ISO 8601 standard
-defines YYYY-MM-DD as the date format, or YYYY-MM-DDTHH-MM-SS
+defines YYYY-MM-DD as the date format, or YYYY-MM-DDTHH:MM:SS
 (that's a literal "T" separating the date from the time).
 Please do use the ISO 8601 instead of making us guess what
 date 02/03/04 might be.  ISO 8601 even sorts nicely as-is.
@@ -679,9 +679,8 @@ ISO 8859-1 bytes beyond 0x7f into your strings might cause trouble
 later.  If the bytes are native 8-bit bytes, you can use the C<bytes>
 pragma.  If the bytes are in a string (regular expression being a
 curious string), you can often also use the C<\xHH> notation instead
-of embedding the bytes as-is.  (If you want to write your code in UTF-8,
-you can use the C<utf8>.) The C<bytes> and C<utf8> pragmata are
-available since Perl 5.6.0.
+of embedding the bytes as-is.  If you want to write your code in UTF-8,
+you can use the C<utf8>.
 
 =head2 System Resources
 
@@ -689,10 +688,6 @@ If your code is destined for systems with severely constrained (or
 missing!) virtual memory systems then you want to be I<especially> mindful
 of avoiding wasteful constructs such as:
 
-    # NOTE: this is no longer "bad" in perl5.005
-    for (0..10000000) {}                       # bad
-    for (my $x = 0; $x <= 10000000; ++$x) {}   # good
-
     my @lines = <$very_large_file>;            # bad
 
     while (<$fh>) {$file .= $_}                # sometimes bad
@@ -781,8 +776,8 @@ Testing results: L<http://www.cpantesters.org/>
 
 =head1 PLATFORMS
 
-As of version 5.002, Perl is built with a C<$^O> variable that
-indicates the operating system it was built on.  This was implemented
+Perl is built with a C<$^O> variable that indicates the operating
+system it was built on.  This was implemented
 to help speed up code that would otherwise have to C<use Config>
 and use the value of C<$Config{osname}>.  Of course, to get more
 detailed information about the system, looking into C<%Config> is
@@ -904,6 +899,8 @@ DOSish perls are as follows:
      Windows Vista MSWin32    MSWin32-x86       2      6 00
      Windows 7     MSWin32    MSWin32-x86       2      6 01
      Windows 7     MSWin32    MSWin32-x64       2      6 01
+     Windows 2008  MSWin32    MSWin32-x86       2      6 01
+     Windows 2008  MSWin32    MSWin32-x64       2      6 01
      Windows CE    MSWin32    ?                 3           
      Cygwin        cygwin     cygwin
 
@@ -1145,7 +1142,7 @@ Also see:
 
 =item *
 
-F<README.vms> (installed as L<README_vms>), L<perlvms>
+F<README.vms> (installed as F<README_vms>), L<perlvms>
 
 =item *
 
@@ -1243,7 +1240,7 @@ systems).  On the mainframe perl currently works under the "Unix system
 services for OS/390" (formerly known as OpenEdition), VM/ESA OpenEdition, or
 the BS200 POSIX-BC system (BS2000 is supported in perl 5.6 and greater).
 See L<perlos390> for details.  Note that for OS/400 there is also a port of
-Perl 5.8.1/5.9.0 or later to the PASE which is ASCII-based (as opposed to
+Perl 5.8.1/5.10.0 or later to the PASE which is ASCII-based (as opposed to
 ILE which is EBCDIC-based), see L<perlos400>. 
 
 As of R2.5 of USS for OS/390 and Version 2.3 of VM/ESA these Unix
@@ -1282,7 +1279,7 @@ and C<|>, not to mention dealing with socket interfaces to ASCII computers
 
 Fortunately, most web servers for the mainframe will correctly
 translate the C<\n> in the following statement to its ASCII equivalent
-(C<\r> is the same under both Unix and OS/390 & VM/ESA):
+(C<\r> is the same under both Unix and OS/390):
 
     print "Content-type: text/html\r\n\r\n";
 
@@ -1293,7 +1290,6 @@ The values of C<$^O> on some of these platforms includes:
     OS/390        os390      os390
     OS400         os400      os400
     POSIX-BC      posix-bc   BS2000-posix-bc
-    VM/ESA        vmesa      vmesa
 
 Some simple tricks for determining if you are running on an EBCDIC
 platform could include any of the following (perhaps all):
@@ -1315,8 +1311,7 @@ Also see:
 
 =item *
 
-L<perlos390>, F<README.os390>, F<perlbs2000>, F<README.vmesa>,
-L<perlebcdic>.
+L<perlos390>, F<README.os390>, F<perlbs2000>, L<perlebcdic>.
 
 =item *
 
@@ -1394,8 +1389,8 @@ subdirectories named after the suffix.  Hence files are translated:
 The Unix emulation library's translation of filenames to native assumes
 that this sort of translation is required, and it allows a user-defined list
 of known suffixes that it will transpose in this fashion.  This may
-seem transparent, but consider that with these rules C<foo/bar/baz.h>
-and C<foo/bar/h/baz> both map to C<foo.bar.h.baz>, and that C<readdir> and
+seem transparent, but consider that with these rules F<foo/bar/baz.h>
+and F<foo/bar/h/baz> both map to F<foo.bar.h.baz>, and that C<readdir> and
 C<glob> cannot and do not attempt to emulate the reverse mapping.  Other
 C<.>'s in filenames are translated to C</>.
 
@@ -1438,7 +1433,7 @@ in C<$^O> is "riscos" (because we don't like shouting).
 =head2 Other perls
 
 Perl has been ported to many platforms that do not fit into any of
-the categories listed above.  Some, such as AmigaOS, BeOS, HP MPE/iX,
+the categories listed above.  Some, such as AmigaOS, BeOS,
 QNX, Plan 9, and VOS, have been well-integrated into the standard
 Perl source code kit.  You may need to see the F<ports/> directory
 on CPAN for information, and possibly binaries, for the likes of:
@@ -1453,7 +1448,6 @@ in the "OTHER" category include:
     ------------------------------------------
     Amiga DOS     amigaos    m68k-amigos
     BeOS          beos
-    MPE/iX        mpeix      PA-RISC1.1
 
 See also:
 
@@ -1469,11 +1463,6 @@ Be OS, F<README.beos>
 
 =item *
 
-HP 300 MPE/iX, F<README.mpeix> and Mark Bixby's web page
-L<http://www.bixby.org/mark/porting.html>
-
-=item *
-
 A free perl5-based PERL.NLM for Novell Netware is available in
 precompiled binary and source code form from L<http://www.novell.com/>
 as well as from CPAN.
@@ -1588,7 +1577,7 @@ A little funky, because VOS's notion of ownership is a little funky (VOS).
 
 =item chroot
 
-Not implemented. (Win32, VMS, S<Plan 9>, S<RISC OS>, VOS, VM/ESA)
+Not implemented. (Win32, VMS, S<Plan 9>, S<RISC OS>, VOS)
 
 =item crypt
 
@@ -1613,11 +1602,11 @@ Invokes VMS debugger. (VMS)
 
 =item exec
 
-Implemented via Spawn. (VM/ESA)
-
 Does not automatically flush output handles on some platforms.
 (SunOS, Solaris, HP-UX)
 
+Not supported. (Symbian OS)
+
 =item exit
 
 Emulates Unix exit() (which considers C<exit 1> to indicate an error) by
@@ -1651,7 +1640,7 @@ Not implemented (VMS, S<RISC OS>, VOS).
 
 =item fork
 
-Not implemented. (AmigaOS, S<RISC OS>, VM/ESA, VMS)
+Not implemented. (AmigaOS, S<RISC OS>, VMS)
 
 Emulated using multiple interpreters.  See L<perlfork>.  (Win32)
 
@@ -1672,7 +1661,7 @@ Not implemented. (Win32, S<RISC OS>)
 
 =item getpriority
 
-Not implemented. (Win32, VMS, S<RISC OS>, VOS, VM/ESA)
+Not implemented. (Win32, VMS, S<RISC OS>, VOS)
 
 =item getpwnam
 
@@ -1708,11 +1697,11 @@ Not implemented. (Win32, S<Plan 9>)
 
 =item getpwent
 
-Not implemented. (Win32, VM/ESA)
+Not implemented. (Win32)
 
 =item getgrent
 
-Not implemented. (Win32, VMS, VM/ESA)
+Not implemented. (Win32, VMS)
 
 =item gethostbyname
 
@@ -1753,11 +1742,11 @@ Not implemented. (S<Plan 9>, Win32, S<RISC OS>)
 
 =item endpwent
 
-Not implemented. (MPE/iX, VM/ESA, Win32)
+Not implemented. (Win32)
 
 =item endgrent
 
-Not implemented. (MPE/iX, S<RISC OS>, VM/ESA, VMS, Win32)
+Not implemented. (S<RISC OS>, VMS, Win32)
 
 =item endhostent
 
@@ -1824,7 +1813,7 @@ numbers. (VMS)
 
 =item link
 
-Not implemented. (MPE/iX, S<RISC OS>, VOS)
+Not implemented. (S<RISC OS>, VOS)
 
 Link count not updated because hard links are not quite that hard
 (They are sort of half-way between hard and soft links). (AmigaOS)
@@ -1898,7 +1887,7 @@ Not implemented. (Win32, VMS, S<RISC OS>)
 
 =item setgrent
 
-Not implemented. (MPE/iX, VMS, Win32, S<RISC OS>)
+Not implemented. (VMS, Win32, S<RISC OS>)
 
 =item setpgrp
 
@@ -1910,7 +1899,7 @@ Not implemented. (Win32, VMS, S<RISC OS>, VOS)
 
 =item setpwent
 
-Not implemented. (MPE/iX, Win32, S<RISC OS>)
+Not implemented. (Win32, S<RISC OS>)
 
 =item setsockopt
 
@@ -1926,6 +1915,12 @@ Not implemented. (S<Plan 9>)
 
 Not implemented. (Win32, VMS, S<RISC OS>, VOS)
 
+=item sleep
+
+Emulated using synchronization functions such that it can be
+interrupted by alarm(), and limited to a maximum of 4294967 seconds,
+approximately 49 days. (Win32)
+
 =item sockatmark
 
 A relatively recent addition to socket functions, may not
@@ -1933,7 +1928,7 @@ be implemented even in Unix platforms.
 
 =item socketpair
 
-Not implemented. (S<RISC OS>, VM/ESA)
+Not implemented. (S<RISC OS>)
 
 Available on OpenVOS Release 17.0 or later. (VOS)
 
@@ -1976,14 +1971,14 @@ syntax if it is intended to resolve to a valid path.
 
 =item syscall
 
-Not implemented. (Win32, VMS, S<RISC OS>, VOS, VM/ESA)
+Not implemented. (Win32, VMS, S<RISC OS>, VOS)
 
 =item sysopen
 
 The traditional "0", "1", and "2" MODEs are implemented with different
 numeric values on some systems.  The flags exported by C<Fcntl>
 (O_RDONLY, O_WRONLY, O_RDWR) should work everywhere though.  (S<Mac
-OS>, OS/390, VM/ESA)
+OS>, OS/390)
 
 =item system
 
@@ -2038,7 +2033,7 @@ should not be held open elsewhere. (Win32)
 
 =item umask
 
-Returns undef where unavailable, as of version 5.005.
+Returns undef where unavailable.
 
 C<umask> works but the correct permissions are set only when the file
 is finally closed. (AmigaOS)
@@ -2117,6 +2112,8 @@ at L<http://www.cpan.org/src>
 
 =item FreeBSD
 
+=item Debian GNU/kFreeBSD
+
 =item Haiku
 
 =item Irix (6.5. What else?)
@@ -2137,7 +2134,6 @@ Caveats:
 
 =back
 
-
 =item Symbian (Series 60 v3, 3.2 and 5 - what else?)
 
 =item Stratus VOS / OpenVOS
@@ -2311,14 +2307,13 @@ L<http://www.cpan.org/ports/index.html> for binary distributions.
 
 =head1 SEE ALSO
 
-L<perlaix>, L<perlamiga>, L<perlapollo>, L<perlbeos>, L<perlbs2000>,
+L<perlaix>, L<perlamiga>, L<perlbeos>, L<perlbs2000>,
 L<perlce>, L<perlcygwin>, L<perldgux>, L<perldos>, L<perlepoc>,
 L<perlebcdic>, L<perlfreebsd>, L<perlhurd>, L<perlhpux>, L<perlirix>,
-L<perlmacos>, L<perlmacosx>, L<perlmpeix>,
+L<perlmacos>, L<perlmacosx>,
 L<perlnetware>, L<perlos2>, L<perlos390>, L<perlos400>,
 L<perlplan9>, L<perlqnx>, L<perlsolaris>, L<perltru64>,
-L<perlunicode>, L<perlvmesa>, L<perlvms>, L<perlvos>,
-L<perlwin32>, and L<Win32>.
+L<perlunicode>, L<perlvms>, L<perlvos>, L<perlwin32>, and L<Win32>.
 
 =head1 AUTHORS / CONTRIBUTORS
 
@@ -2354,5 +2349,5 @@ Gurusamy Sarathy <gsar@activestate.com>,
 Paul J. Schinder <schinder@pobox.com>,
 Michael G Schwern <schwern@pobox.com>,
 Dan Sugalski <dan@sidhe.org>,
-Nathan Torkington <gnat@frii.com>.
+Nathan Torkington <gnat@frii.com>,
 John Malmberg <wb8tyw@qsl.net>