Yuval Kogman wrote:
On Fri, Sep 30, 2005 at 00:56:09 -0400, John E. Malmberg wrote:
The logic is problematic...
On OSX, for example, I could mount an HFS file system that is case
sensitive or not, interact with SMB on windows which is not, SMB on
samba which i suspect is, FAT-xx and NTFS which is not, and other
file systems.
VMS is also able to mount multiple file systems, so has the same issue.
I should update the documentation to indicate that this is for
information about what is considered the "default" file system for
running the script.
Currently actual scripts that I and others need to run on VMS will not
run because core modules are making incorrect assumptions about the
properties of the VMS file systems.
This is all under one tree, to make things more yucky.
That may also be a problem for VMS. Currently there is one method on
some versions to simulate having many of the file systems under a single
tree, and in the future there will be a second method, which is what the
posix_mode method exposes to the few things like Cwd that need to know.
And I have not checked to see if someone has created an xs IO module
based on smbwrapper. Doing so would add the abilities for perl scripts
to access SMB file systems on platforms that do not otherwise have that
ability.
The current interface is good enough for the default filesystem, I
guess, but you should be able to ask about a specific file system,
e.g.:
my $x = File::System::Spec->new(File::Spec->catfile(.. the path ...));
$x->case_tolerant; # asks about the filesystem hosting the path
I envisioned that this module would be for setting or reading
properties, so a 'new' method does not seem to fit in with that.
It might be possible that a second optional argument could be added that
would allow getting the specific properties of that file system.
I supposed the platform overrides can detect if they get a numeric
argument or a string argument, and if it was a string argument to use it
to look up the properties for that path, but that starts adding
complications to the implementation.
Having a single call return all or set specific properties is an
interesting idea, but not one that I am sure that I know how to write.
And I expect that more methods to expose properties of file systems will
end up being added to this module as the maintainers of other platforms
add their contributions.
-John
[EMAIL PROTECTED]
Personal Opinion Only