TITLE ^

File::Spec - portably perform operations on file names

SYNOPSIS ^

    .local int classtype
    .local pmc spec

    load_bytecode 'File/Spec.pir'

    new spec, 'File::Spec'

    .local pmc x
    .local String a, b, c
    x= spec.'catdir'( 'a', 'b', 'c' )

which returns 'a/b/c' under Unix.

DESCRIPTION ^

This module is designed to support operations commonly performed on file specifications (usually called "file names", but not to be confused with the contents of a file, or Perl's file handles), such as concatenating several directory and file names into a single path, or determining whether a path is rooted. It is based on code directly taken from MakeMaker 5.17, code written by Andreas König, Andy Dougherty, Charles Bailey, Ilya Zakharevich, Paul Schinder, and others.

Since these functions are different for most operating systems, each set of OS specific routines is available in a separate module, including:

    File::Spec::Unix
    *File::Spec::Mac
    *File::Spec::OS2
    File::Spec::Win32
    *File::Spec::VMS

*These modules have not yet been created in this release.

The module appropriate for the current OS is automatically loaded by File::Spec. Since some modules (like VMS) make use of facilities available only under that OS, it may not be possible to load all modules under all operating systems.

Since File::Spec is object oriented, subroutines should not be called directly, and since parrot does not yet support class methods, subroutines should be called as object methods.


parrot