<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">package File::Spec::Functions;

use File::Spec;
use strict;

our $VERSION = '3.78';
$VERSION =~ tr/_//d;

require Exporter;

our @ISA = qw(Exporter);

our @EXPORT = qw(
	canonpath
	catdir
	catfile
	curdir
	rootdir
	updir
	no_upwards
	file_name_is_absolute
	path
);

our @EXPORT_OK = qw(
	devnull
	tmpdir
	splitpath
	splitdir
	catpath
	abs2rel
	rel2abs
	case_tolerant
);

our %EXPORT_TAGS = ( ALL =&gt; [ @EXPORT_OK, @EXPORT ] );

require File::Spec::Unix;
my %udeps = (
    canonpath =&gt; [],
    catdir =&gt; [qw(canonpath)],
    catfile =&gt; [qw(canonpath catdir)],
    case_tolerant =&gt; [],
    curdir =&gt; [],
    devnull =&gt; [],
    rootdir =&gt; [],
    updir =&gt; [],
);

foreach my $meth (@EXPORT, @EXPORT_OK) {
    my $sub = File::Spec-&gt;can($meth);
    no strict 'refs';
    if (exists($udeps{$meth}) &amp;&amp; $sub == File::Spec::Unix-&gt;can($meth) &amp;&amp;
	    !(grep {
		File::Spec-&gt;can($_) != File::Spec::Unix-&gt;can($_)
	    } @{$udeps{$meth}}) &amp;&amp;
	    defined(&amp;{"File::Spec::Unix::_fn_$meth"})) {
	*{$meth} = \&amp;{"File::Spec::Unix::_fn_$meth"};
    } else {
	*{$meth} = sub {&amp;$sub('File::Spec', @_)};
    }
}


1;
__END__

=head1 NAME

File::Spec::Functions - portably perform operations on file names

=head1 SYNOPSIS

	use File::Spec::Functions;
	$x = catfile('a','b');

=head1 DESCRIPTION

This module exports convenience functions for all of the class methods
provided by File::Spec.

For a reference of available functions, please consult L&lt;File::Spec::Unix&gt;,
which contains the entire set, and which is inherited by the modules for
other platforms. For further information, please see L&lt;File::Spec::Mac&gt;,
L&lt;File::Spec::OS2&gt;, L&lt;File::Spec::Win32&gt;, or L&lt;File::Spec::VMS&gt;.

=head2 Exports

The following functions are exported by default.

	canonpath
	catdir
	catfile
	curdir
	rootdir
	updir
	no_upwards
	file_name_is_absolute
	path


The following functions are exported only by request.

	devnull
	tmpdir
	splitpath
	splitdir
	catpath
	abs2rel
	rel2abs
	case_tolerant

All the functions may be imported using the C&lt;:ALL&gt; tag.

=head1 COPYRIGHT

Copyright (c) 2004 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.

=head1 SEE ALSO

File::Spec, File::Spec::Unix, File::Spec::Mac, File::Spec::OS2,
File::Spec::Win32, File::Spec::VMS, ExtUtils::MakeMaker

=cut

</pre></body></html>