X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperlport.pod;h=c1a5483add6795cb520dcce8ed01020d9811360a;hb=2b5ab1e742ea1b1374dcea7f6f90ef5c5cf29914;hp=6faa0d065915548fb073ae3726104707098ca1ac;hpb=3c075c7de87f20129c6bd1b21ce4871ba78b3ca2;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perlport.pod b/pod/perlport.pod index 6faa0d0..c1a5483 100644 --- a/pod/perlport.pod +++ b/pod/perlport.pod @@ -148,6 +148,13 @@ And this example is actually better than the previous one even for Unix platforms, because now any C<\015>'s (C<\cM>'s) are stripped out (and there was much rejoicing). +An important thing to remember is that functions that return data +should translate newlines when appropriate. Often one line of code +will suffice: + + $data =~ s/\015?\012/\n/g; + return $data; + =head2 Numbers endianness and Width @@ -175,7 +182,7 @@ transfer and store numbers always in text format, instead of raw binary, or consider using modules like C (included in the standard distribution as of Perl 5.005) and C. -=head2 Files +=head2 Files and Filesystems Most platforms these days structure files in a hierarchical fashion. So, it is reasonably safe to assume that any platform supports the @@ -194,6 +201,14 @@ LPT:). S uses C<:> as a path separator instead of C. +The filesystem may support neither hard links (C) nor +symbolic links (C, C, C). + +The filesystem may not support neither access timestamp nor change +timestamp (meaning that about the only portable timestamp is the +modification timestamp), or one second granularity of any timestamps +(e.g. the FAT filesystem limits the time granularity to two seconds). + VOS perl can emulate Unix filenames with C as path separator. The native pathname characters greater-than, less-than, number-sign, and percent-sign are always accepted. @@ -252,8 +267,11 @@ Likewise, if using C, try to keep the split functions to make it so the resulting files have a unique (case-insensitively) first 8 characters. -Don't assume C> won't be the first character of a filename. Always -use C> explicitly to open a file for reading. +There certainly can be whitespace in filenames. Many systems (DOS, +VMS) cannot have more than one C<"."> in their filenames. + +Don't assume C> won't be the first character of a filename. +Always use C> explicitly to open a file for reading. open(FILE, "<$existing_file") or die $!; @@ -559,7 +577,8 @@ Also see: =item The djgpp environment for DOS, C =item The EMX environment for DOS, OS/2, etc. C, -C +C or +C =item Build instructions for Win32, L. @@ -757,12 +776,12 @@ delimiting character, VOS files, directories, or links whose names contain a slash character cannot be processed. Such files must be renamed before they can be processed by Perl. -The following C functions are unimplemented on VOS, any any attempt by +The following C functions are unimplemented on VOS, and any attempt by Perl to use them will result in a fatal error message and an immediate -exit from Perl: dup, do_aspawn, do_spawn, execlp, execl, execvp, fork, -waitpid. Once these functions become available in the VOS POSIX.1 -implementation, you can either recompile and rebind Perl, or you can -download a newer port from ftp.stratus.com. +exit from Perl: dup, do_aspawn, do_spawn, fork, waitpid. Once these +functions become available in the VOS POSIX.1 implementation, you can +either recompile and rebind Perl, or you can download a newer port from +ftp.stratus.com. The value of C<$^O> on VOS is "VOS". To determine the architecture that you are running on without resorting to loading all of C<%Config> you @@ -1314,6 +1333,9 @@ method of spawning a process. (Win32) Not implemented. (S, Win32, VMS, S) +Link count not updated because hard links are not quite that hard +(They are sort of half-way between hard and soft links). (AmigaOS) + =item lstat FILEHANDLE =item lstat EXPR @@ -1347,6 +1369,8 @@ open to C<|-> and C<-|> are unsupported. (S, Win32, S) Not implemented. (S) +Very limited functionality. (MiNT) + =item readlink EXPR =item readlink @@ -1444,6 +1468,11 @@ the child program uses a compatible version of the emulation library. I will call the native command line direct and no such emulation of a child Unix program will exists. Mileage B vary. (S) +Far from being POSIX compliant. Because there may be no underlying +/bin/sh tries to work around the problem by forking and execing the +first token in its argument string. Handles basic redirection +("E" or "E") on its own behalf. (MiNT) + =item times Only the first entry returned is nonzero. (S) @@ -1473,6 +1502,9 @@ should not be held open elsewhere. (Win32) Returns undef where unavailable, as of version 5.005. +C works but the correct permissions are only set when the file +is finally close()d. (AmigaOS) + =item utime LIST Only the modification time is updated. (S, VMS, S) @@ -1500,6 +1532,15 @@ Not useful. (S) =over 4 +=item v1.39, 11 February, 1999 + +Changes from Jarkko and EMX URL fixes Michael Schwern. Additional +note about newlines added. + +=item v1.38, 31 December 1998 + +More changes from Jarkko. + =item v1.37, 19 December 1998 More minor changes. Merge two separate version 1.35 documents. @@ -1560,6 +1601,7 @@ Peter Prymmer Epvhp@forte.comE, Hugo van der Sanden Ehv@crypt0.demon.co.ukE, Gurusamy Sarathy Egsar@umich.eduE, Paul J. Schinder Eschinder@pobox.comE, +Michael G Schwern Eschwern@pobox.comE, Dan Sugalski Esugalskd@ous.eduE, Nathan Torkington Egnat@frii.comE. @@ -1568,5 +1610,4 @@ Epudge@pobox.comE. =head1 VERSION -Version 1.37, last modified 19 December 1998 - +Version 1.39, last modified 11 February 1999