Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

How to get the absolute path of a symbolic link

by ZWcarp (Beadle)
on Jun 20, 2012 at 17:29 UTC ( #977420=perlquestion: print w/replies, xml ) Need Help??
ZWcarp has asked for the wisdom of the Perl Monks concerning the following question:

In perl, when you use the readlink function on a symbolic link it doesn't seem to work them same as when you use the unix command readlink -m. How do you get the absolute path of a symbolic link in perl ? Is there a way without using additional modules?
  • Comment on How to get the absolute path of a symbolic link

Replies are listed 'Best First'.
Re: How to get the absolute path of a symbolic link
by morgon (Curate) on Jun 20, 2012 at 17:35 UTC
    Use Cwd::abs_path to get an absolute path.

    Cwd is a core-module so you don't need to install anything extra.

    use Cwd qw(abs_path); my $absolute_path = abs_path (readlink $link);

      Just like the previous answer stated, Cwd qw(abs_path) would do the job just as realpath from the same module would do.
      However, one really do not need the readlink function anymore because "..Symbolic links and relative-path components ("." and "..") are resolved to return the canonical pathname.." -- perldoc Cwd.

      use Cwd qw(abs_path realpath); #.... my $absolute_path = abs_path($link); # or ... my $absolute_path = realpath($link);

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://977420]
Front-paged by Arunbear
and the questions are moot...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (5)
As of 2018-06-23 11:27 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (125 votes). Check out past polls.