That was a surprise for me to see / in MSWin32 paths. Dump of %INC:
$VAR1 = {
'bytes.pm' => 'C:/strawberry/perl/lib/bytes.pm',
'XSLoader.pm' => 'C:/strawberry/perl/lib/XSLoader.pm',
'Carp.pm' => 'C:/strawberry/perl/lib/Carp.pm',
'warnings/register.pm' => 'C:/strawberry/perl/lib/warnings/register.pm',
'File/Spec/Unix.pm' => 'C:/strawberry/perl/lib/File/Spec/Unix.pm',
'Exporter.pm' => 'C:/strawberry/perl/lib/Exporter.pm',
'vars.pm' => 'C:/strawberry/perl/lib/vars.pm',
'strict.pm' => 'C:/strawberry/perl/lib/strict.pm',
'warnings.pm' => 'C:/strawberry/perl/lib/warnings.pm',
'File/Spec.pm' => 'C:/strawberry/perl/lib/File/Spec.pm',
'overload.pm' => 'C:/strawberry/perl/lib/overload.pm',
'base.pm' => 'C:/strawberry/perl/lib/base.pm',
'File/Spec/Win32.pm' => 'C:/strawberry/perl/lib/File/Spec/Win32.pm',
'Data/Dumper.pm' => 'C:/strawberry/perl/lib/Data/Dumper.pm',
'App/whichpm.pm' => 'lib/App/whichpm.pm'
};
inconsistent (Score:0)
There is
but
Yes (Score:1)
The values in
%INCalways follow Unix conventions, regardless of which platform you’re on.(I cannot find this documented anywhere in the POD that ships with perl.)
Re: (Score:1)
Actually it’s only the key that’s always in Unix convention. The value will be some ill-descript Unixish mishmash on non-Unix platforms: usually, the
@INCentry under which the file was found, verbatim, plus the same string as the key, joined with a slash regardless of OS – but not always, especially on VMS – and never on Symbian.Uhm, I hope this helps.
Re: (Score:0)
I only found a reference to it in perlfaq5 [perl.org]. It points out there that DOS does handle forward slashes in place of backslashes (though you have to put quotes around the file name, or it thinks the slash is an option).