Hello Bravo_t, and welcome to the Monastery!

The behaviour of the lib pragma is documented here.

I'm surprised to know Perl will "recursively" add sub directories into @INC if they have some particular names.

Yes, but those names are specific to your current version of Perl. For example, I currently get:

16:54 >perl -V:archname archname='MSWin32-x64-multi-thread'; 16:54 >perl -V:version version='5.22.0'; 16:54 >

So if I have:

use lib "./some/path/perl";

and if there is a directory ./some/path/perl/5.22.0 on my system, then my @INC will contain:

"./some/path/perl/5.22.0", "./some/path/perl", ...

But if I also have a directory ./some/path/perl/5.8.0, that will not be added to @INC because it doesn’t correspond to the version of my current Perl.

So, my best guess is that the apparently random behaviour you are seeing is actually due to you calling the script with different versions of the Perl executable.

Hope that helps,

Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,


In reply to Re: Perl randomly couldn't locate a Perl module in @INC by Athanasius
in thread [SOLVED] Perl randomly couldn't locate a Perl module in @INC by Bravo_t

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.