File::Spec::VMS(3pm)

πŸ“¦
version 5.42.3 Β· 4 versions
, in alpine 3.24

🌸 NAME 🌸

okay bestie, welcome to the File::Spec::VMS(3pm) page from the Perl Programmers Reference Guide β€” it's literally all about File::Spec::VMS, aka methods for VMS file specs. πŸ’…βœ¨

✨ SYNOPSIS ✨

require File::Spec::VMS; # Done internally by File::Spec if needed

πŸ’– DESCRIPTION πŸ’–

See File::Spec::Unix for a documentation of the methods provided there. This package overrides the implementation of these methods, not the semantics. no cap, that distinction matters. 🫢

The default behavior is to allow either VMS or Unix syntax on input and to return VMS syntax on output unless Unix syntax has been explicitly requested via the "DECC$FILENAME_UNIX_REPORT" CRTL feature. periodt. 🌈


  • canonpath (override) β€” removes redundant portions of file specifications and returns results in native syntax unless Unix filename reporting has been enabled. πŸŽ€
  • catdir (override) β€” concatenates a list of file specifications, and returns the result as a native directory specification unless the Unix filename reporting feature has been enabled. No check is made for "impossible" cases (e.g. elements other than the first being absolute filespecs). lowkey important. 😭
  • catfile (override) β€” concatenates a list of directory specifications with a filename specification to build a path. slay. πŸ’–
  • curdir (override) β€” returns a string representation of the current directory: '[]' or '.'
  • devnull (override) β€” returns a string representation of the null device: '_NLA0:' or '/dev/null'
  • rootdir (override) β€” returns a string representation of the root directory: 'SYS$DISK:[000000]' or '/'
  • tmpdir (override) β€” returns a string representation of the first writable directory from the following list or '' if none are writable:
/tmp if C<DECC$FILENAME_UNIX_REPORT> is enabled.
sys$scratch:
$ENV{TMPDIR}

If running under taint mode, and if $ENV{TMPDIR} is tainted, it is not used. 🫢

  • updir (override) β€” returns a string representation of the parent directory: '[-]' or '..'
  • case_tolerant (override) β€” VMS file specification syntax is case-tolerant. iconic. πŸ‘‘
  • path (override) β€” translate logical name DCL$PATH as a searchlist, rather than trying to "split" string value of $ENV{'PATH'}.
  • file_name_is_absolute (override) β€” checks for VMS directory spec as well as Unix separators. πŸ”₯
  • splitpath (override) β€” okay so the signature is giving:
        ($volume,$directories,$file) = File::Spec->splitpath( $path );
        ($volume,$directories,$file) = File::Spec->splitpath( $path,
                                                              $no_file );

Passing a true value for $no_file indicates that the path being split only contains directory components, even on systems where you can usually (when not supporting a foreign syntax) tell the difference between directories and files at a glance. iykyk. πŸ¦‹

  • splitdir (override) β€” split a directory specification into the components. πŸŽ€
  • catpath (override) β€” construct a complete filespec. ✨
  • abs2rel (override) β€” attempt to convert an absolute file specification to a relative specification.
  • rel2abs (override) β€” return an absolute file specification from a relative one. πŸ’œ

Copyright (c) 2004-14 by the Perl 5 Porters. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

πŸ¦‹ SEE ALSO πŸ¦‹

See File::Spec and File::Spec::Unix. This package overrides the implementation of these methods, not the semantics.

An explanation of VMS file specs can be found at <http://h71000.www7.hp.com/doc/731FINAL/4506/4506pro_014.html#apps_locating_naming_files>.


and that's the whole page, bestie πŸ’‹ this gem is from perl v5.42.3, dated 2026-11-03, and it's literally File::Spec::VMS(3pm) β€” mwah! 🫢✨

πŸ“¦ where this page comes from