Forcing Specific Version of a module to be used from different location.

Posted on 2003-11-04
Last Modified: 2010-03-04
Question Title: Forcing module version to be used
Author: sstouk
Points: 125
Date: 11/04/2003 12:49PM EST

The OS has a module with an older version. which is version 3.09 (HTML::Entity)
I downloaded version 3.16
The application I develop needs a version above 3.15, so the one I've got is OK
It is a web server where I do not have admin rights to put the updated into the Perl path and substitute the old one.
All the modules I need I usually install under the cgi-bin/ web folder and it works just fine, recognizing modules that are not present on the web server.
I need a way to tell my application to use not from the Perl default location, but from the cgi-bin/HTML/ location.
So that the command:
use HTML::Entity
would get the file from cgi-bin/HTML/Entity and not from c:\Perl\lib\..... etc

Any ideas?
Question by:sstouk
  • 3
  • 2

Accepted Solution

arjanh earned 125 total points
ID: 9680562
You can let perl first look in your cgi-bin directory, and only thereafter in the system dirs like this:

unshift (@INC, "cgi-bin/"); # Prepend a directory name
use HTML::Entity;

Expert Comment

ID: 9681382
for you, this would work (it's the same mechanism as the post by arjanh but that post probably won't work for you because the directory is not right):

use lib '.'; # cgi-bin won't work in your case I think
use HTML::Entity;

Author Comment

ID: 9681487
Does this just adds or reverses the order of search or completely substitutes it?
I do not want to substitute, just to reverse.
I think that unshift (@INC, "cgi-bin/"); # Prepend a directory name
Is adding the initial path to search for, what about
use lib '.'; # cgi-bin won't work in your case I think
unshift (@INC, "."); # Prepend a directory name
Works perfectly so as the:
use lib '.'; # cgi-bin won't work in your case I think
Basically both of you answered the question correctly and without comment of inq123 suggestion posted by arjanh would really not work for me, I tried.
But I got an idea anyway.

I would like to split the points if possible I will see if I can try, if not, I have to assign point to whomever answered first.

thanks alot.


Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.


Author Comment

ID: 9681502
There was no option to split the points. Sorry inq123.

Author Comment

ID: 9681550
Too bad I learned how to split points just now :(

Expert Comment

ID: 9681605
In fact, if no option to split, then you should accept my comment because mine worked for you.  Grading guide suggests that you accept the first working solution.  As I pointed out already, although my solution is the same mechanism as previous one, mine should work for you but his won't.

But well, it's OK.

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
perl rename 2 142
pattern matching in perl 2 103
git fat pull happens nothing in centos 6.3 python 2.6.6 33 215
instmodsh - listing perl modules 2 78
Email validation in proper way is  very important validation required in any web pages. This code is self explainable except that Regular Expression which I used for pattern matching. I originally published as a thread on my website : http://www…
A year or so back I was asked to have a play with MongoDB; within half an hour I had downloaded (,  installed and started the daemon, and had a console window open. After an hour or two of playing at the command …
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…

813 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now