On Wed, 16 Aug 2000, Tim Jenness wrote:

TJ>Pod::Find seems to be assuming a '/' somewhere - noticeable on VMS.

Hmmm, I didn't find the place, it probably comes from File::Find.

TJ>> On Wed, 16 Aug 2000, Peter Prymmer wrote:
TJ>> > 
TJ>> > %pods = pod_find("$THISDIR/lib");

The fix suggested by Tim will be included in one of the next Pod::Parser
distributions (perhaps 1.18).

TJ>Thanks.  That is a start, however, I am having a difficult time
TJ>getting Pod::Find to return anything in from test number 2 and
TJ>one-liner tests like it.
TJ>
TJ> $ perl -e "use Pod::Find qw(pod_find); print 
pod_find({'-verbose'=>2},('dkb100:[perl.lib]'))"
TJ> Can't cd to (dkb100:[perl.lib]/) user : no such file or directory
TJ>
TJ>tests 2 and 4 are troublesome.  I can coax 3 into passing by
TJ>adding VMS specific code (keep in mind that the handling of pod
TJ>on VMS is done by a separate Makefile hence $Config{privlib} is
TJ>not quite the place to look.

What is the general place to look in, then?

TJ>  I suspect that either File::Find
TJ>or Pod::Find will need some tweaking, in addition to portability
TJ>fixes like the one that you suggest for t/pod/find.t.

Oh well. I hoped that relying on File::Find (and File::Spec) will save me
from dealing with platform compatibility issues.

First of all, please check whether File::Find works ok on VMS. If not,
this has to be fixed in first place, IMHO.

I had a look at perldoc and its logic of searching for PODs. It is full of
"if $Is_VMS;" :-(
Obviously my assumption that Perl internally converts UNIX-style paths
(i.e. delimited with /) into the correct ones on the current platform -
was wrong.

Please let me know what File::File prints for the Perl installation's lib
directory. I saw that there is a function VMS::Filespec::unixpath. If all
I need to do is to run the output of cwd() and File::Find through this
function on VMS, I'll happily include the code, but I'd prefer to get a
patch from someone who can test these things directly on VMS.

Generally speaking, I'm against any OS-specific if clauses in high-level
Perl modules, as long as things can be fixed in the low-level ones like
File::Find, File::Spec and Cwd.

Hope this helps,

Marek

Reply via email to