diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 1998-12-23 10:38:18 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 1998-12-23 10:38:18 +0000 |
commit | 433acd8a47ae1642ba234baa73b43933be6a53e5 (patch) | |
tree | 1738ff70711b2079b0d7c66d0efd34912d8af790 /pod | |
parent | 6b1016b5e1f44bcb47d99dc977f7ab2fbed66b2a (diff) | |
download | perl-433acd8a47ae1642ba234baa73b43933be6a53e5.tar.gz |
More porting notes about filesystems, AmigaOS, and MiNT.
p4raw-id: //depot/cfgperl@2500
Diffstat (limited to 'pod')
-rw-r--r-- | pod/perlport.pod | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/pod/perlport.pod b/pod/perlport.pod index 6faa0d0659..7a03c12998 100644 --- a/pod/perlport.pod +++ b/pod/perlport.pod @@ -175,7 +175,7 @@ transfer and store numbers always in text format, instead of raw binary, or consider using modules like C<Data::Dumper> (included in the standard distribution as of Perl 5.005) and C<Storable>. -=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 +194,14 @@ LPT:). S<Mac OS> uses C<:> as a path separator instead of C</>. +The filesystem may not support neither hard links (C<link()>) nor +symbolic links (C<symlink()>, C<readlink()>, C<lstat()>). + +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 +260,11 @@ Likewise, if using C<AutoSplit>, 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<E<gt>> won't be the first character of a filename. Always -use C<E<lt>> 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<E<gt>> won't be the first character of a filename. +Always use C<E<lt>> explicitly to open a file for reading. open(FILE, "<$existing_file") or die $!; @@ -829,7 +840,7 @@ an effect on what happens with some perl functions (such as C<chr>, C<pack>, C<print>, C<printf>, C<ord>, C<sort>, C<sprintf>, C<unpack>), as well as bit-fiddling with ASCII constants using operators like C<^>, C<&> and C<|>, not to mention dealing with socket interfaces to ASCII computers -(see L<Newlines>). +(see L<"NEWLINES">). Fortunately, most web servers for the mainframe will correctly translate the C<\n> in the following statement to its ASCII equivalent (note that @@ -1314,6 +1325,9 @@ method of spawning a process. (Win32) Not implemented. (S<Mac OS>, Win32, VMS, S<RISC OS>) +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 +1361,8 @@ open to C<|-> and C<-|> are unsupported. (S<Mac OS>, Win32, S<RISC OS>) Not implemented. (S<Mac OS>) +Very limited functionality. (MiNT) + =item readlink EXPR =item readlink @@ -1444,6 +1460,11 @@ the child program uses a compatible version of the emulation library. I<scalar> will call the native command line direct and no such emulation of a child Unix program will exists. Mileage B<will> vary. (S<RISC OS>) +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 ("<" or +">") on its own behalf. (MiNT) + =item times Only the first entry returned is nonzero. (S<Mac OS>) @@ -1473,6 +1494,9 @@ should not be held open elsewhere. (Win32) Returns undef where unavailable, as of version 5.005. +C<umask()> works but the correct permissions are only set when the file is +finally close()d. + =item utime LIST Only the modification time is updated. (S<Mac OS>, VMS, S<RISC OS>) |