develooper Front page | perl.perl5.porters | Postings from September 2005

Re: Pls Review: File::System::Spec

Thread Previous | Thread Next
John E. Malmberg
September 30, 2005 09:25
Re: Pls Review: File::System::Spec
Message ID:
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 

> 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.

Personal Opinion Only

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About