Taint shmread().
[p5sagit/p5-mst-13.2.git] / pod / perlport.pod
index 10723ee..e59b385 100644 (file)
@@ -1223,6 +1223,12 @@ suffixes.  C<-S> is meaningless.  (Win32)
 C<-x> (or C<-X>) determine if a file has an executable file type.
 (S<RISC OS>)
 
+=item alarm SECONDS
+
+=item alarm
+
+Not implemented. (Win32)
+
 =item binmode FILEHANDLE
 
 Meaningless.  (S<Mac OS>, S<RISC OS>)
@@ -1287,6 +1293,9 @@ Not implemented. (S<Mac OS>)
 
 Implemented via Spawn. (VM/ESA)
 
+Does not automatically flush output handles on some platforms.
+(SunOS, Solaris, HP-UX)
+
 =item fcntl FILEHANDLE,FUNCTION,SCALAR
 
 Not implemented. (Win32, VMS)
@@ -1299,7 +1308,12 @@ Available only on Windows NT (not on Windows 95). (Win32)
 
 =item fork
 
-Not implemented. (S<Mac OS>, Win32, AmigaOS, S<RISC OS>, VOS, VM/ESA)
+Not implemented. (S<Mac OS>, AmigaOS, S<RISC OS>, VOS, VM/ESA)
+
+Emulated using multiple interpreters.  See L<perlfork>.  (Win32)
+
+Does not automatically flush output handles on some platforms.
+(SunOS, Solaris, HP-UX)
 
 =item getlogin
 
@@ -1436,14 +1450,8 @@ Not implemented. (S<Mac OS>, Plan9)
 Globbing built-in, but only C<*> and C<?> metacharacters are supported.
 (S<Mac OS>)
 
-Features depend on external perlglob.exe or perlglob.bat.  May be
-overridden with something like File::DosGlob, which is recommended.
-(Win32)
-
-Globbing built-in, but only C<*> and C<?> metacharacters are supported.
-Globbing relies on operating system calls, which may return filenames
-in any order.  As most filesystems are case-insensitive, even "sorted"
-filenames will not be in case-sensitive order. (S<RISC OS>)
+This operator is implemented via the File::Glob extension on most
+platforms.  See L<File::Glob> for portability information.
 
 =item ioctl FILEHANDLE,FUNCTION,SCALAR
 
@@ -1459,9 +1467,12 @@ Available only for socket handles. (S<RISC OS>)
 Not implemented, hence not useful for taint checking. (S<Mac OS>,
 S<RISC OS>)
 
-C<kill($sig, $pid)> makes the process exit immediately with exit
-status $sig.  As in Unix, if $sig is 0 and the specified process exists,
-it returns true without actually terminating it. (Win32)
+C<kill()> doesn't have the semantics of C<raise()>, i.e. it doesn't send
+a signal to the identified process like it does on Unix platforms.
+Instead C<kill($sig, $pid)> terminates the process identified by $pid,
+and makes it exit immediately with exit status $sig.  As in Unix, if
+$sig is 0 and the specified process exists, it returns true without
+actually terminating it. (Win32)
 
 =item link OLDFILE,NEWFILE
 
@@ -1481,7 +1492,7 @@ under NTFS only.
 
 Not implemented. (VMS, S<RISC OS>)
 
-Return values may be bogus. (Win32)
+Return values (especially for device and inode) may be bogus. (Win32)
 
 =item msgctl ID,CMD,ARG
 
@@ -1502,6 +1513,9 @@ The C<|> variants are supported only if ToolServer is installed.
 
 open to C<|-> and C<-|> are unsupported. (S<Mac OS>, Win32, S<RISC OS>)
 
+Opening a process does not automatically flush output handles on some
+platforms.  (SunOS, Solaris, HP-UX)
+
 =item pipe READHANDLE,WRITEHANDLE
 
 Not implemented. (S<Mac OS>)
@@ -1520,6 +1534,8 @@ Only implemented on sockets. (Win32)
 
 Only reliable on sockets. (S<RISC OS>)
 
+Note that the C<socket FILEHANDLE> form is generally portable.
+
 =item semctl ID,SEMNUM,CMD,ARG
 
 =item semget KEY,NSEMS,FLAGS
@@ -1601,7 +1617,10 @@ As an optimization, may not call the command shell specified in
 C<$ENV{PERL5SHELL}>.  C<system(1, @args)> spawns an external
 process and immediately returns its process designator, without
 waiting for it to terminate.  Return value may be used subsequently
-in C<wait> or C<waitpid>.  (Win32)
+in C<wait> or C<waitpid>.  Failure to spawn() a subprocess is indicated
+by setting $? to "255 << 8".  C<$?> is set in a way compatible with
+Unix (i.e. the exitstatus of the subprocess is obtained by "$? >> 8",
+as described in the documentation).  (Win32)
 
 There is no shell to process metacharacters, and the native standard is
 to pass a command line terminated by "\n" "\r" or "\0" to the spawned
@@ -1618,13 +1637,17 @@ Far from being POSIX compliant.  Because there may be no underlying
 first token in its argument string.  Handles basic redirection
 ("<" or ">") on its own behalf. (MiNT)
 
+Does not automatically flush output handles on some platforms.
+(SunOS, Solaris, HP-UX)
+
 =item times
 
 Only the first entry returned is nonzero. (S<Mac OS>)
 
-"cumulative" times will be bogus.  On anything other than Windows NT,
-"system" time will be bogus, and "user" time is actually the time
-returned by the clock() function in the C runtime library. (Win32)
+"cumulative" times will be bogus.  On anything other than Windows NT
+or Windows 2000, "system" time will be bogus, and "user" time is
+actually the time returned by the clock() function in the C runtime
+library. (Win32)
 
 Not useful. (S<RISC OS>)
 
@@ -1752,6 +1775,150 @@ First public release with perl5.005.
 
 =back
 
+=head1 Supported Platforms
+
+As of early March 2000 (the Perl release 5.6.0), the following
+platforms are able to build Perl from the standard source code
+distribution available at http://www.perl.com/CPAN/src/index.html
+
+       AIX
+       DOS DJGPP       1)
+       FreeBSD
+       HP-UX
+       IRIX
+       Linux
+       LynxOS
+       MachTen
+       MPE/iX
+       NetBSD
+       OpenBSD
+       OS/2
+       QNX
+       Rhapsody/Darwin 2)
+       Solaris
+       SVR4
+       Tru64 UNIX      3)
+       UNICOS
+       UNICOS/mk
+       Unixware
+       VMS
+       VOS
+       Windows 3.1     1)
+       Windows 95      1) 4)
+       Windows 98      1) 4)
+       Windows NT      1) 4)
+
+        1) in DOS mode either the DOS or OS/2 ports can be used
+        2) new in 5.6.0: the BSD/NeXT-based UNIX of Mac OS X
+        3) formerly known as Digital UNIX and before that DEC OSF/1
+        4) compilers: Borland, Cygwin, Mingw32 EGCS/GCC, VC++
+
+The following platforms worked for the previous major release
+(5.005_03 being the latest maintenance release of that, as of early
+March 2000), but be did not manage to test these in time for the 5.6.0
+release of Perl.  There is a very good chance that these will work
+just fine with 5.6.0.
+
+       A/UX
+       BeOS
+       BSD/OS
+       DG/UX
+       DYNIX/ptx
+       DomainOS
+       Hurd
+       NextSTEP
+       OpenSTEP
+       PowerMAX
+       SCO ODT/OSR     
+       SunOS
+       Ultrix
+
+The following platform worked for the previous major release (5.005_03
+being the latest maintenance release of that, as of early March 2000).
+However, standardization on UTF-8 as the internal string representation
+in 5.6.0 has introduced incompatibilities in this EBCDIC platform.
+Support for this platform may be enabled in a future release:
+
+       OS390   1)
+
+       1) Previously known as MVS, or OpenEdition MVS.
+
+Strongly related to the OS390 platform by also being EBCDIC-based
+mainframe platforms are the following platforms:
+
+       BS2000
+       VM/ESA
+
+These are also not expected to work under 5.6.0 for the same reasons
+as OS390.  Contact the mailing list perl-mvs@perl.org for more details.
+
+MacOS (Classic, pre-X) is almost 5.6.0-ready; building from the source
+does work with 5.6.0, but additional MacOS specific source code is needed
+for a complete port.  Contact the mailing list macperl-porters@macperl.org
+for more information.
+
+The following platforms have been known to build Perl from source in
+the past, but we haven't been able to verify their status for the
+current release, either because the hardware/software platforms are
+rare or because we don't have an active champion on these
+platforms--or both:
+
+       3b1
+       AmigaOS
+       ConvexOS
+       CX/UX
+       DC/OSx
+       DDE SMES
+       DOS EMX
+       Dynix
+       EP/IX
+       ESIX
+       FPS
+       GENIX
+       Greenhills
+       ISC
+       MachTen 68k
+       MiNT
+       MPC
+       NEWS-OS
+       Opus
+       Plan 9
+       PowerUX
+       RISC/os
+       Stellar
+       SVR2
+       TI1500
+       TitanOS
+       Unisys Dynix
+       Unixware
+
+Support for the following platform is planned for a future Perl release:
+
+       Netware
+
+The following platforms have their own source code distributions and
+binaries available via http://www.perl.com/CPAN/ports/index.html:
+
+                               Perl release
+
+       AS/400                  5.003
+       Netware                 5.003_07
+       Tandem Guardian         5.004
+
+The following platforms have only binaries available via
+http://www.perl.com/CPAN/ports/index.html:
+
+                               Perl release
+
+       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,
+in case you are in a hurry you can check
+http://www.perl.com/CPAN/ports/index.html for binary distributions.
+
 =head1 AUTHORS / CONTRIBUTORS
 
 Abigail <abigail@fnx.com>,