Re: glob() on VMS totally different than Unix.

[email protected] ("Craig A. Berry")
Newsgroups perl.perl5.porters,perl.vmsperl
Message-ID <[email protected]>
On Jan 22, 2009, at 9:28 AM, Nicholas Clark wrote:

> On Thu, Jan 22, 2009 at 10:22:17AM -0500, Peter Prymmer wrote:
>> John Malmberg <[email protected]> wrote on 01/22/2009 10:03:16 AM:
>>
>>> Based on that, the Module::Build component that is using glob  
>>> needs to
>>> be changed to use File::Glob::glob instead.
>>
>> How about changing Module::Build to use C<opendir()>, C<readdir()>,  
>> and
>> C<closedir()> as recommended in perlport.pod?
>
> Isn't an explicit call to File::Glob::glob also (implicitly) going  
> to use
> opendir() etc in a consistent fashion, on all platforms on which the  
> XS is
> compiled?

Seems like it should, and since 5.6.0, CORE::GLOBAL::glob is  
implemented in terms of File::Glob::bsd_glob unless PERL_EXTERNAL_GLOB  
is defined.  Turns out, though, that we unilaterally define that in  
configure.com and this behavior arrived in a patch from Peter on 11  
December 1999, not long before 5.6.0. If I'm reading the win32 build  
procedures correctly, PERL_EXTERNAL_GLOB is hard-wired on there as well.

Certainly the path of least resistance is to see if using File::Glob  
explicitly in Module::Build helps VMS without breaking Win32.  I'll  
give that a try.

________________________________________
Craig A. Berry
mailto:[email protected]

"... getting out of a sonnet is much more
  difficult than getting in."
                  Brad Leithauser
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.