Scroll to navigation

File::Spec::Link(3pm) User Contributed Perl Documentation File::Spec::Link(3pm)

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".

Returns the filename linked to by $link: by "readlink"ing $link, and resolving that path relative to the directory of $link.
Returns the non-link ultimately linked to by $link, by repeatedly calling "linked". Returns "undef" if the link can not be resolved.
Returns the directory of $file, by splitting the path of $file and returning (the volumne and) directory parts.
"relative_to_file($path, $file)"
Returns the path of $path relative to the directory of file $file. If $path is absolute, just returns $path.
Returns the filename of $file with all links in the path resolved, wihout using "Cwd".
Returns the filename of $file with all links in the path resolved.

This sub tries to use "Cwd::abs_path" via "->resolve_path".

Returns the filename of $file with all links in the path resolved.

This sub uses "Cwd::abs_path" and is independent of the rest of "File::Spec::Link".

Object methods

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
add a file component to the path, ignoring empty strings
add a component to the path: treating "updir" as "pop", and ignoring "curdir" and empty strings
populate a path object, using splitpath
"chop"
remove and return a file component from path, an empty string returns means this was root dir.
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

Wrapper round File::Spec::canonpath, fatal if empty input
Wrapper round File::Spec::catdir, returns "curdir" from empty list
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, <RMBarker@cpan.org>

COPYRIGHT AND LICENSE

Copyright 2003, 2005, 2006, 2007, 2011, 2014 by Robin Barker

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

2024-03-05 perl v5.38.2