Recently I asked for help with a FindBin problem. Davorg's solution fixed the problem of FindBin not working with taint. However, I have encountered another problem with FindBin.

When I use it within a web environment, the value of $Bin is undef. This is a problem, because the reason I wanted to use FindBin in the first place was to get around the problem of different relative paths for command-line versus web use, without hardcoding an absolute path in to every script.

The basic structure of the project is a root directory, which could change depending upon the server the project is running on. Inside the root directory are several directories, including lib and cgi-bin. cgi-bin is a web root directory. From the command line, lib can be reached with ../lib, but from a web environment this obviously doesn't work. What I hoped to do was to resolve the real (not web) absolute path for the script and determine the absolute path to the lib directory from that.

Can someone suggest another solution to this problem?

I have not included any code because it can be viewed in the previous (linked) node.

Thank you for your help.


In reply to $Bin undef with FindBin in web environment by Anonymous Monk

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.