Monks, not quite a Newbie, but I could use some advice.

Working on an app to scan user directories for various things using File::Find::find (e.g. parse /etc/passwd, and pass the home directory to an appropriate &wanted subroutine).

My problem is that some user home directories in /etc/passwd are symlinks (which I want to follow), but these accounts also contain multiple symlinks that I want to ignore. I know that File::Find::find's default behavior is to not follow symlinks but I can set {wanted => \&wanted ,follow=>1} to follow symlinks.

I have code in place that tests the /home/username directory, and if a symlink, adds follow=>1 to the File::Find::find call.

The general behavior I'm looking for is to follow any symlink to the user's login directory, but then switch to the default of not following symlinks while scanning the contents of the account.

I've tried setting $File::Find::follow=0 in &wanted if $File::Find::dir doesn't match the user login directory, but no luck at this point (could be my code).

Any sage advice about how to approach this problem? Thanks for any thoughts you may have and for your time reading this.First post.


In reply to symlinks when using File::Find::find by ibpap

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.