At 08:46 AM 11/13/2002 -0500, darren chamberlain wrote:
I agree, but adding File::Spec::Cygwin would require modifying
File/Spec.pm, since it loads OS-specific modules like so:

  my %module = (MacOS   => 'Mac',
                MSWin32 => 'Win32',
                os2     => 'OS2',
                VMS     => 'VMS',
                epoc    => 'Epoc');

  my $module = $module{$^O} || 'Unix';
  require "File/Spec/$module.pm";
  @ISA = ("File::Spec::$module");
Interesting. I didn't know that and it's an unfortunate design. However, guess what? Here's the same hash from the version bundled with 5.8.0:

my %module = (MacOS => 'Mac',
MSWin32 => 'Win32',
os2 => 'OS2',
VMS => 'VMS',
epoc => 'Epoc',
NetWare => 'Win32', # Yes, File::Spec::Win32 works on NetWare.
dos => 'OS2', # Yes, File::Spec::OS2 works on DJGPP.
cygwin => 'Cygwin');

And indeed there's now a File::Spec::Cygwin. All it does as of 5.8.0 is override the 'canonpath' and 'file_name_is_absolute' methods. I can't remember what problem the OP was trying to solve but I suspect if what's there now doesn't satisfy him he can add the desired functionality without much trouble.

-dsb

Reply via email to