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: by"readlink"ing$link, and resolving that path relative to the directory of$link.
- resolve($link)
-
Returns the non-link ultimately linked to by
$link, by repeatedly calling"linked". Returns"undef"if 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 using"Cwd".
- full_resolve($file)
-
Returns the filename of
$filewith all links in the path resolved.This sub tries to use
"Cwd::abs_path"via"->resolve_path".
- resolve_path($file)
-
Returns the filename of
$filewith all links in the path resolved.This sub uses
"Cwd::abs_path"and is independent of the rest of"File::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
"updir"as"pop", and ignoring"curdir"and 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
"curdir"from empty list
- splitlast($path)
-
Get component from
$path(using"chop") 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, <[email protected]>
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.