For the purpose of deleting files the idiom for use on VMS that does not
hurt non-VMS platforms is:
1 while unlink($filename);
which can be found in *.t files throughout the perl test suite.
For the purpose of deleting directory trees I find the File::Path::rmtree()
routine
quite handy. So handy in fact that I have a symbol, assigned like so:
$ rmtree == "''perl' ""-MVMS::Filespec"" ""-MFile::Path"" -e
""File::Path::rmtree(unixify(shift))"""
that appears like so:
$ sho sym rmtree
RMTREE == "$PERL_ROOT:[000000]PERL.EXE "-MVMS::Filespec" "-MFile::Path"
-e "File::Path::rmtree(unixify(shift))""
that works like so:
$ show default
USER:[PPRYMMER]
$ create/dir [.fluff]
$ copy login.com [.fluff]/log
%COPY-S-COPIED, USER:[PPRYMMER]LOGIN.COM;13 copied to
USER:[PPRYMMER.FLUFF]LOGIN.COM;13 (20 blocks)
$ rmtree user:[pprymmer.fluff]
Unfortunately I may not be of much help with your question on File::Find.
I have found that of late it has been modified by some non VMS
"maintainers"
to put it into a state of unusability on VMS and I have opted to modify
code to
no longer use it. I have started to modify existing code to use either
qx(directory)
or VMS:: FindFile from CPAN to work around the slowness and logical name
flaws
of current implementations of File::Find. I suspect that since File::Find
will by default
chdir to directories it might be possible to write a &wanted() subroutine
that
also used qx(directory) for the purpose of listing all RMS versions of a
file (but it
would run rather slowly).
Peter Prymmer
IvorW <[EMAIL PROTECTED]> wrote on 01/26/2004 05:21:35 PM:
> I have a module which I want to run on VMS. The module itself is now fine
(I
> have bitten the bullet with File::Spec::Functions, using its subs
throughout.