Veraellyunjie has asked for the wisdom of the Perl Monks concerning the following question:

File::Spec core module is comprised of submodules, one of which is File::Spec::VMS.
And it does use VMS::Filespec;,
but there is no VMS::Filespec module on any of my 3 machines: OpenBSD, Linux, Windows StrawberryPerl.
I've done full filesystem search to be sure

I don't actually need it, I just wanted to see VMS file path separators in action.
I tried editing File::Spec
# diff /usr/libdata/perl5/amd64-openbsd/File/Spec.pm{.original,} 19c19 < my $module = $module{$^O} || 'Unix'; --- > my $module = $module{VMS} || 'Unix';

and then:
> perl -MFile::Spec -E 'say File::Spec->catfile( "", "" )' Can't locate VMS/Filespec.pm in @INC ...

But it can't.
I also tried cpan VMS::Filespec but:
The most recent version "1.13" of the module "VMS::Filespec" is part of the perl-5.36.3 distribution. To install that, you need to +run force install VMS::Filespec --or-- install PEVANS/perl-5.36.3.tar.gz

So it isn't installable as any regular module.
And if I force - cpan -f -i VMS::Filespec - it seems to be going to install perl-5.36.3.
which I haven't tried as it scary as it might break the system.

So,

Replies are listed 'Best First'.
Re: VMS::Filespec missing and not installable - wtf?
by Corion (Patriarch) on Jan 25, 2024 at 16:45 UTC

    The VMS::Filespec namespace is only available on VMS.

    See vms.c.

    This is not available on systems that are not VMS.