Another Unicode s/// buglet, from SADAHIRO Tomoyuki.
[p5sagit/p5-mst-13.2.git] / pod / perlport.pod
index a90d4cd..44c79de 100644 (file)
@@ -104,7 +104,7 @@ newlines:
         #...
     }
 
-You can get away with this on Unix and MacOS (they have a single
+You can get away with this on Unix and Mac OS (they have a single
 character end-of-line), but the same program will break under DOSish
 perls because you're only chop()ing half the end-of-line.  Instead,
 chomp() should be used to trim newlines.  The Dunce::Files module can
@@ -373,7 +373,7 @@ Three-arg open can also help protect against this translation in cases
 where it is undesirable.
 
 Don't use C<:> as a part of a filename since many systems use that for
-their own semantics (MacOS Classic for separating pathname components,
+their own semantics (Mac OS Classic for separating pathname components,
 many networking schemes and utilities for separating the nodename and
 the pathname, and so on).  For the same reasons, avoid C<@>, C<;> and
 C<|>.
@@ -832,6 +832,13 @@ Win32::GetOSVersion().  For example:
         print +('3.1','95','NT')[$os_version_info[4]],"\n";
     }
 
+There are also Win32::IsWinNT() and Win32::IsWin95(), try C<perldoc Win32>,
+and as of libwin32 0.19 (not part of the core Perl distribution)
+Win32::GetOSName().  The very portable POSIX::uname() will work too:
+
+    c:\> perl -MPOSIX -we "print join '|', uname"
+    Windows NT|moonru|5.0|Build 2195 (Service Pack 2)|x86
+
 Also see:
 
 =over 4
@@ -1359,6 +1366,7 @@ in the "OTHER" category include:
     OS            $^O        $Config{'archname'}
     ------------------------------------------
     Amiga DOS     amigaos    m68k-amigos
+    BeOS          beos
     MPE/iX        mpeix      PA-RISC1.1
 
 See also:
@@ -1391,7 +1399,7 @@ as well as from CPAN.
 
 =item  *
 
-Plan 9, F<README.plan9>
+S<Plan 9>, F<README.plan9>
 
 =back
 
@@ -1494,7 +1502,7 @@ in the SYSTEM environment settings.  (Cygwin)
 
 =item chown LIST
 
-Not implemented. (S<Mac OS>, Win32, Plan9, S<RISC OS>, VOS)
+Not implemented. (S<Mac OS>, Win32, S<Plan 9>, S<RISC OS>, VOS)
 
 Does nothing, but won't fail. (Win32)
 
@@ -1502,7 +1510,7 @@ Does nothing, but won't fail. (Win32)
 
 =item chroot
 
-Not implemented. (S<Mac OS>, Win32, VMS, Plan9, S<RISC OS>, VOS, VM/ESA)
+Not implemented. (S<Mac OS>, Win32, VMS, S<Plan 9>, S<RISC OS>, VOS, VM/ESA)
 
 =item crypt PLAINTEXT,SALT
 
@@ -1513,11 +1521,11 @@ Not implemented. (VOS)
 
 =item dbmclose HASH
 
-Not implemented. (VMS, Plan9, VOS)
+Not implemented. (VMS, S<Plan 9>, VOS)
 
 =item dbmopen HASH,DBNAME,MODE
 
-Not implemented. (VMS, Plan9, VOS)
+Not implemented. (VMS, S<Plan 9>, VOS)
 
 =item dump LABEL
 
@@ -1594,7 +1602,7 @@ Not implemented. (S<Mac OS>, Win32, VMS, S<RISC OS>)
 
 =item getnetbyname NAME
 
-Not implemented. (S<Mac OS>, Win32, Plan9)
+Not implemented. (S<Mac OS>, Win32, S<Plan 9>)
 
 =item getpwuid UID
 
@@ -1608,7 +1616,7 @@ Not implemented. (S<Mac OS>, Win32, VMS, S<RISC OS>)
 
 =item getnetbyaddr ADDR,ADDRTYPE
 
-Not implemented. (S<Mac OS>, Win32, Plan9)
+Not implemented. (S<Mac OS>, Win32, S<Plan 9>)
 
 =item getprotobynumber NUMBER
 
@@ -1632,31 +1640,31 @@ Not implemented. (S<Mac OS>, Win32)
 
 =item getnetent
 
-Not implemented. (S<Mac OS>, Win32, Plan9)
+Not implemented. (S<Mac OS>, Win32, S<Plan 9>)
 
 =item getprotoent
 
-Not implemented. (S<Mac OS>, Win32, Plan9)
+Not implemented. (S<Mac OS>, Win32, S<Plan 9>)
 
 =item getservent
 
-Not implemented. (Win32, Plan9)
+Not implemented. (Win32, S<Plan 9>)
 
 =item sethostent STAYOPEN
 
-Not implemented. (S<Mac OS>, Win32, Plan9, S<RISC OS>)
+Not implemented. (S<Mac OS>, Win32, S<Plan 9>, S<RISC OS>)
 
 =item setnetent STAYOPEN
 
-Not implemented. (S<Mac OS>, Win32, Plan9, S<RISC OS>)
+Not implemented. (S<Mac OS>, Win32, S<Plan 9>, S<RISC OS>)
 
 =item setprotoent STAYOPEN
 
-Not implemented. (S<Mac OS>, Win32, Plan9, S<RISC OS>)
+Not implemented. (S<Mac OS>, Win32, S<Plan 9>, S<RISC OS>)
 
 =item setservent STAYOPEN
 
-Not implemented. (Plan9, Win32, S<RISC OS>)
+Not implemented. (S<Plan 9>, Win32, S<RISC OS>)
 
 =item endpwent
 
@@ -1672,19 +1680,19 @@ Not implemented. (S<Mac OS>, Win32)
 
 =item endnetent
 
-Not implemented. (S<Mac OS>, Win32, Plan9)
+Not implemented. (S<Mac OS>, Win32, S<Plan 9>)
 
 =item endprotoent
 
-Not implemented. (S<Mac OS>, Win32, Plan9)
+Not implemented. (S<Mac OS>, Win32, S<Plan 9>)
 
 =item endservent
 
-Not implemented. (Plan9, Win32)
+Not implemented. (S<Plan 9>, Win32)
 
 =item getsockopt SOCKET,LEVEL,OPTNAME
 
-Not implemented. (Plan9)
+Not implemented. (S<Plan 9>)
 
 =item glob EXPR
 
@@ -1744,7 +1752,7 @@ Return values (especially for device and inode) may be bogus. (Win32)
 
 =item msgrcv ID,VAR,SIZE,TYPE,FLAGS
 
-Not implemented. (S<Mac OS>, Win32, VMS, Plan9, S<RISC OS>, VOS)
+Not implemented. (S<Mac OS>, Win32, VMS, S<Plan 9>, S<RISC OS>, VOS)
 
 =item open FILEHANDLE,EXPR
 
@@ -1802,7 +1810,7 @@ Not implemented. (S<Mac OS>, MPE/iX, Win32, S<RISC OS>)
 
 =item setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL
 
-Not implemented. (Plan9)
+Not implemented. (S<Plan 9>)
 
 =item shmctl ID,CMD,ARG
 
@@ -2061,84 +2069,67 @@ First public release with perl5.005.
 
 =head1 Supported Platforms
 
-As of early 2001 (the Perl releases 5.6.1 and 5.7.1), the following
-platforms are able to build Perl from the standard source code
-distribution available at http://www.cpan.org/src/index.html
-
-       AIX
-       AmigaOS
-       Darwin          (Mac OS X)
-       DG/UX
-       DOS DJGPP       1)
-       DYNIX/ptx
-       EPOC R5
-       FreeBSD
-       HP-UX
-       IRIX
-       Linux
-       MachTen
-       MacOS Classic   2)
-       NonStop-UX
-       ReliantUNIX     (SINIX)
-       OpenBSD
-       OpenVMS         (VMS)
-       OS/2
-       OS X
-       QNX
-       Solaris
-       Tru64 UNIX      (DEC OSF/1, Digital UNIX)
-       UNICOS
-       UNICOS/mk
-       VOS
-       Win32/NT/2K     3)
+As of June 2002 (the Perl release 5.8.0), the following platforms are
+able to build Perl from the standard source code distribution
+available at http://www.cpan.org/src/index.html
+
+        AIX
+        BeOS
+        Cygwin
+        DG/UX
+        DOS DJGPP       1)
+        DYNIX/ptx
+        EPOC R5
+        FreeBSD
+        HP-UX
+        IRIX
+        Linux
+        Mac OS Classic
+        Mac OS X         (Darwin)
+        MPE/iX
+        NetBSD
+        NetWare
+        NonStop-UX
+        ReliantUNIX     (SINIX)
+        OpenBSD
+        OpenVMS         (VMS)
+        OS/2
+        POSIX-BC        (BS2000)
+        QNX
+        Solaris
+        SUPER-UX
+        Tru64 UNIX      (DEC OSF/1, Digital UNIX)
+        UNICOS
+        UNICOS/mk
+        UTS
+        VOS
+        Win95/98/ME/2K/XP 2)
+        WinCE
+        z/OS            (OS/390)
+        VM/ESA
 
         1) in DOS mode either the DOS or OS/2 ports can be used
-        2) Mac OS Classic (pre-X) is almost 5.6.1-ready; building from
-          the source does work with 5.6.1, but additional MacOS specific
-           source code is needed for a complete build.  See the web
-           site http://dev.macperl.org/ for more information.
-        3) compilers: Borland, Cygwin, Mingw32 EGCS/GCC, VC++
-
-The following platforms worked for the previous releases (5.6.0 and 5.7.0),
-but we did not manage to test these in time for the 5.7.1 release.
-There is a very good chance that these will work fine with the 5.7.1.
-
-       DomainOS
-       Hurd
-       LynxOS
-       MinGW
-       MPE/iX
-       NetBSD
-       PowerMAX
-       SCO SV
-       SunOS
-       SVR4
-       Unixware
-       Windows 3.1
-       Windows 95
-       Windows 98
-       Windows Me
-
-The following platform worked for the 5.005_03 major release but not
-for 5.6.0.  Standardization on UTF-8 as the internal string
-representation in 5.6.0 and 5.6.1 introduced incompatibilities in this
-EBCDIC platform.  While Perl 5.7.1 will build on this platform some
-regression tests may fail and the C<use utf8;> pragma typically
-introduces text handling errors.
-
-       OS/390  1)
-
-       1) previously known as MVS, about to become z/OS.
-
-Strongly related to the OS/390 platform by also being EBCDIC-based
-mainframe platforms are the following platforms:
-
-       POSIX-BC        (BS2000)
-       VM/ESA
-
-These are also expected to work, albeit with no UTF-8 support, under 5.6.1 
-for the same reasons as OS/390.  Contact the mailing list perl-mvs@perl.org 
-for more details.
+        2) compilers: Borland, MinGW (GCC), VC6
+
+The following platforms worked with the previous releases (5.6 and
+5.7), but we did not manage either to fix or to test these in time
+for the 5.8.0 release.  There is a very good chance that many of these
+will work fine with the 5.8.0.  The only one known for certain to be
+broken for 5.8.0 is the AmigaOS (for which 5.6.1 and 5.7.2 can be used)
+
+        AmigaOS
+        BSD/OS
+        DomainOS
+        Hurd
+        LynxOS
+        MachTen
+        PowerMAX
+        PowerUX
+        SCO SV
+        SunOS 4
+        SVR4
+        Unixware
+        Windows 3.1
 
 The following platforms have been known to build Perl from source in
 the past (5.005_03 and earlier), but we haven't been able to verify
@@ -2148,63 +2139,53 @@ active champion on these platforms--or both.  They used to work,
 though, so go ahead and try compiling them, and let perlbug@perl.org
 of any trouble.
 
-       3b1
-       A/UX
-       BeOS
-       BSD/OS
-       ConvexOS
-       CX/UX
-       DC/OSx
-       DDE SMES
-       DOS EMX
-       Dynix
-       EP/IX
-       ESIX
-       FPS
-       GENIX
-       Greenhills
-       ISC
-       MachTen 68k
-       MiNT
-       MPC
-       NEWS-OS
-       NextSTEP
-       OpenSTEP
-       Opus
-       Plan 9
-       PowerUX
-       RISC/os
-       SCO ODT/OSR     
-       Stellar
-       SVR2
-       TI1500
-       TitanOS
-       Ultrix
-       Unisys Dynix
-       Unixware
-       UTS
-
-Support for the following platform is planned for a future Perl release:
-
-       Netware
+        3b1
+        A/UX
+        ConvexOS
+        CX/UX
+        DC/OSx
+        DDE SMES
+        DOS EMX
+        Dynix
+        EP/IX
+        ESIX
+        FPS
+        GENIX
+        Greenhills
+        ISC
+        MachTen 68k
+        MiNT
+        MPC
+        NEWS-OS
+        NextSTEP
+        OpenSTEP
+        Opus
+        Plan 9
+        RISC/os
+        SCO ODT/OSR
+        Stellar
+        SVR2
+        TI1500
+        TitanOS
+        Ultrix
+        Unisys Dynix
 
 The following platforms have their own source code distributions and
 binaries available via http://www.cpan.org/ports/
 
-                               Perl release
+                                Perl release
 
-       Netware                 5.003_07
-       OS/400                  5.005_02
-       Tandem Guardian         5.004
+        OS/400                  5.005_02
+        Tandem Guardian         5.004
 
 The following platforms have only binaries available via
 http://www.cpan.org/ports/index.html :
 
-                               Perl release
+                                Perl release
 
-       Acorn RISCOS            5.005_02
-       AOS                     5.002
-       LynxOS                  5.004_02
+        Acorn RISCOS            5.005_02
+        AOS                     5.002
+        LynxOS                  5.004_02
 
 Although we do suggest that you always build your own Perl from
 the source code, both for maximal configurability and for security,
@@ -2213,12 +2194,13 @@ http://www.cpan.org/ports/index.html for binary distributions.
 
 =head1 SEE ALSO
 
-L<perlaix>, L<perlapollo>, L<perlamiga>, L<perlbeos>, L<perlbs200>,
-L<perlce>, L<perlcygwin>, L<perldgux>, L<perldos>, L<perlepoc>, L<perlebcdic>,
-L<perlhurd>, L<perlhpux>, L<perlmachten>, L<perlmacos>, L<perlmint>,
-L<perlmpeix>, L<perlnetware>, L<perlos2>, L<perlos390>, L<perlplan9>,
-L<perlqnx>, L<perlsolaris>, L<perltru64>, L<perlunicode>,
-L<perlvmesa>, L<perlvms>, L<perlvos>, L<perlwin32>, and L<Win32>.
+L<perlaix>, L<perlamiga>, L<perlapollo>, 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<perlmachten>, L<perlmacos>, L<perlmint>, L<perlmpeix>,
+L<perlnetware>, L<perlos2>, L<perlos390>, L<perlplan9>, L<perlqnx>,
+L<perlsolaris>, L<perltru64>, L<perlunicode>, L<perlvmesa>,
+L<perlvms>, L<perlvos>, L<perlwin32>, and L<Win32>.
 
 =head1 AUTHORS / CONTRIBUTORS