Though I haven't been following this thread, it seems you're coming up
with some File::Spec-like thing for Parrot?

I'd recommend looking at Ken Williams' excellent Path::Class module
which gives you actual file and directory objects.  EXTREMELY useful when
you're in an ultra-cross platform environment such as Parrot.  I wish I
had them for MakeMaker instead of fucking around with File::Spec.  Consider
using Path::Class for inspiration rather than File::Spec.


On Mon, Sep 01, 2003 at 02:38:36PM +0300, Vladimir Lipskiy wrote:
> Leo wrote:
> > Albeit File::Spec is using catfile and catdir, I don't like the function
> > names ("cat file" is on *nix what "type file" is on Win*). Maybe
> > concat_pathname and concat_filename is better.
> 
> Yes, indeed. I'm for having concat_pathname only since this patch or
> the File::Spec module makes no difference when concatenates paths and
> files (though I can be mistaken on account of VMS, Dan? (~:). So catdir
> and catfile give the same result. Morever, catfile is sort of a wrapper
> around
> catdir and does nothing smarter than just calling catdir on all platforms.

On VMS catfile and catdir do very different things because VMS filepath
syntax distinguishs between files and directories explicitly.

Unix:
/dir1/dir2/dir3
/dir1/dir2/file

Windows:
\dir1\dir2\dir3
\dir1\dir2\file

VMS:
[dir1.dir2.dir3]
[dir1.dir2]file

So yes, you must distinguish between concatenating directories and files.

You also must worry about volumes.

Unix:
No user visible concept of a volume

Windows:
VOLUME:\dir1\dir2\file

VMS:
VOLUME:[dir1.dir2]file


-- 
Michael G Schwern        [EMAIL PROTECTED]  http://www.pobox.com/~schwern/
Operation Thrusting Peach

Reply via email to