I am developing perl scripts in an environment (as I have mentioned before, at Isolating perldoc from the system perldoc) where I am not root. I am not the perl administrator, nor the webmaster. I'm just a consultant perl hacker.

So I have been asked to look into some new forms for the site which would allow us to move some of our processes from e-mail based to web-based. (yes I am being deliberately ambiguous, sorry.) I looked around, and I decided that I really liked HTML::FormTemplate, and wanted to use it.

You may know, however, that HTML::FormTemplate also requires the module Data::MultiValuedHash (which is a cool idea and cool module, I wind up reimplementing that wheel almost every time I write an application), and HTML::EasyTags, among a few others I think I am forgetting.

So I happily added these to my personal perl install (in ~/perl of course), and began hacking away at the form. When I was done with the initial concept phase of the code, I was ready to feed it to Netscape (server) and see what it looked like. I had, however, forgotten that /usr/local/bin/perl is NOT ~/perl/bin/perl (5.005 vs. 5.6.1 among other things), and did not include my modules either. So I went to the lead perl guy and said "so, um, I'd like to install a few modules. who do I talk to?" Well, as it turns out, the guys I need to talk to are out of the office today. So I can solve this tomorrow, most likely by installing the modules. But I will run into an issue like this again. His solution (the perl guy) was to just do this:

use lib qw{ lib/ };
and stuff all my modules into ./lib/. This kind of frightens me though, as they have to be a+r and any black hat who cares to go through my modules can. I'm not sure what the exact implications of that are, but it worries me. So I did what I figured would be easiest, I just copied ~/perl/lib to #where my script lives#/lib. But, this isnt going to work. First off, theyre different perl versions, and second, the script doesnt seem to be recursively looking through ./lib/. For example, it doesnt find ./lib/HTML/* and I'm not sure why.

How can I get around this problem?

How much of a security risk is this?

Does perl recursively look through use lib qw{ } dirs?

How can I happily mesh modules from ~/perl with the /usr/local/bin/perl install?

Is that even possible given that they are different perl versions?

(dreaming) How does one go about trying to convince the local administrator that upgrading to perl 5.6 is A Good Thing? (yes, I do use perl 5.6 functions, yes I have good reason for wanting it, I dont want to start a 5.5 vs 5.6 feud)

yours in perl,
brother dep.

--
Laziness, Impatience, Hubris, and Generosity.


In reply to Icky Gross and Disgusting @INC Kludges. (code, discussion) by deprecated

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.