Scroll to navigation

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


File::Spec::Link - Perl extension for reading and resolving symbolic links


    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);


"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
returns path as a string, using catpath
returns canonical path, using canonpath
returns volume element of path, see File::Spec->splitpath
returns directory element of path, as a string, see File::Spec->splitpath
return list of directory components in path, see File::Spec->splitdir
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
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 the link, where the path object is a link
resolve the path object, by repeatedly following links
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]


None - all subs are methods for "File::Spec::Link".


File::Spec(3) File::Copy::Link(3)


Robin Barker, <>


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.

2021-01-03 perl v5.32.0