Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Symbolic Links

by Anonymous Monk
on Aug 02, 2001 at 20:33 UTC ( #101705=perlquestion: print w/ replies, xml ) Need Help??
Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

I am trying to write a script that finds directories that are symbolically linked to accounts and then displays where that symbolic link is.
Is there a function of perl that displays where directories are linked?

I just want to avoid using something like:

open (SYMDIR, "cd /some/directory | pwd |");
print SYMDIR;

Well, actually there are other ways than that... But anyway, any help would be appreciated =)

Comment on Symbolic Links
Replies are listed 'Best First'.
Re: Symbolic Links
by grinder (Bishop) on Aug 02, 2001 at 20:39 UTC
    You want to investigate the readlink function.

     my $dir = readlink( '/some/directory' );

    If you have symbolic links pointing to other symbolic links you will have to walk down the chain:

    while( -l $dir ) { $dir = readlink $dir }

    or more concise:

      1 while( -l $dir and $dir=readlink($dir))


    g r i n d e r
Re: Symbolic Links
by nardo (Friar) on Aug 02, 2001 at 20:37 UTC
    You can use readlink to read where a symlink points, but it won't necessarily be the final destination since it can point to another symlink.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://101705]
Approved by root
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (4)
As of 2016-02-13 22:42 GMT
Find Nodes?
    Voting Booth?

    How many photographs, souvenirs, artworks, trophies or other decorative objects are displayed in your home?

    Results (449 votes), past polls