package File::Spec; require Exporter; @ISA = qw(Exporter); # Items to export into callers namespace by default. Note: do not export # names by default without a very good reason. Use EXPORT_OK instead. # Do not simply export all your public functions/methods/constants. @EXPORT = qw( ); @EXPORT_OK = qw($Verbose); use strict; use vars qw(@ISA $VERSION $Verbose); $VERSION = '0.6'; $Verbose = 0; require File::Spec::Unix; sub load { my($class,$OS) = @_; if ($OS eq 'VMS') { require File::Spec::VMS; require VMS::Filespec; 'File::Spec::VMS' } elsif ($OS eq 'os2') { require File::Spec::OS2; 'File::Spec::OS2' } elsif ($OS eq 'MacOS') { require File::Spec::Mac; 'File::Spec::Mac' } elsif ($OS eq 'MSWin32') { require File::Spec::Win32; 'File::Spec::Win32' } else { 'File::Spec::Unix' } } @ISA = load('File::Spec', $^O); 1; __END__ =head1 NAME File::Spec - portably perform operations on file names =head1 SYNOPSIS C C<$x=File::Spec-Ecatfile('a','b','c');> which returns 'a/b/c' under Unix. =head1 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 KEnig, 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 The module appropriate for the current OS is automatically loaded by File::Spec. Since some modules (like VMS) make use of OS specific facilities, it may not be possible to load all modules under all operating systems. Since File::Spec is object oriented, subroutines should not called directly, as in: File::Spec::catfile('a','b'); but rather as class methods: File::Spec->catfile('a','b'); For a reference of available functions, pleaes consult L, which contains the entire set, and inherited by the modules for other platforms. For further information, please see L, L, L, or L. =head1 SEE ALSO File::Spec::Unix, File::Spec::Mac, File::Spec::OS2, File::Spec::Win32, File::Spec::VMS, ExtUtils::MakeMaker =head1 AUTHORS Kenneth Albanowski >, Andy Dougherty >, Andreas KEnig >, Tim Bunce >. VMS support by Charles Bailey >. OS/2 support by Ilya Zakharevich >. Mac support by Paul Schinder >. =cut 1;