NAME
File::Spec::Link - Perl extension for reading and resolving symbolic links
SYNOPSIS
use File::Spec::Link;
my $file = File::Spec::Link->linked($link);
my $file = File::Spec::Link->resolve($link);
my $dirname = File::Spec::Link->chopfile($file);
my $newname = File::Spec::Link->relative_to_file($path, $link);
my $realname = File::Spec::Link->full_resolve($file);
my $realname = File::Spec::Link->resolve_path($file);
my $realname = File::Spec::Link->resolve_all($file);
DESCRIPTION
File::Spec::Link is an extension to File::Spec, adding methods for resolving symbolic links; it was created to implement File::Copy::Link.
linked($link)-
Returns the filename linked to by
$link: byreadlinking$link, and resolving that path relative to the directory of$link. resolve($link)-
Returns the non-link ultimately linked to by
$link, by repeatedly callinglinked. Returnsundefif the link can not be resolved. chopfile($file)-
Returns the directory of
$file, by splitting the path of$fileand returning (the volumne and) directory parts. relative_to_file($path, $file)-
Returns the path of
$pathrelative to the directory of file$file. If$pathis absolute, just returns$path. resolve_all($file)-
Returns the filename of
$filewith all links in the path resolved, wihout usingCwd. full_resolve($file)-
Returns the filename of
$filewith all links in the path resolved.This sub tries to use
Cwd::abs_pathvia->resolve_path. resolve_path($file)-
Returns the filename of
$filewith all links in the path resolved.This sub uses
Cwd::abs_pathand is independent of the rest ofFile::Spec::Link.
Object methods
new([$path])-
create new path object: stores path as a list
path-
returns path as a string, using catpath
canonical-
returns canonical path, using canonpath
vol-
returns volume element of path, see File::Spec->splitpath
dir-
returns directory element of path, as a string, see File::Spec->splitpath
dirs-
return list of directory components in path, see File::Spec->splitdir
pop-
remove last component of the path
push($file)-
add a file component to the path, ignoring empty strings
add($file)-
add a component to the path: treating
updiraspop, and ignoringcurdirand empty strings split($path)-
populate a path object, using splitpath
chop-
remove and return a file component from path, an empty string returns means this was root dir.
relative($path)-
replace the path object with the supplied path, where the new path is relative to the path object
follow-
follow the link, where the path object is a link
resolved-
resolve the path object, by repeatedly following links
resolvedir-
resolve the links at all component levels within the path object
Other class methods
canonpath($path)-
Wrapper round File::Spec::canonpath, fatal if empty input
catdir(@dirs)-
Wrapper round File::Spec::catdir, returns
curdirfrom empty list splitlast($path)-
Get component from
$path(usingchop) and returns remaining path and compenent, as strings. [Not used]
EXPORT
None - all subs are methods for File::Spec::Link.
SEE ALSO
File::Spec(3) File::Copy::Link(3)
AUTHOR
Robin Barker, <RMBarker@cpan.org>
COPYRIGHT AND LICENSE
Copyright 2003, 2005, 2006, 2007, 2011, 2014, 2024 by Robin Barker
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.