Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:


I just installed ActiveState Perl on two machines: One is a Windows XP Professional laptop for work, and the other is my home Windows 7 Professional machine. I am trying to set up Perl so I can keep several files and folders in sync between the two, and other admin tasks.

Both installs are pristine installs, followed by adding two modules using the GUI PPM: Win32::Hardlink and Win32::Symlink.

However, when trying to run any code, for example:

use strict; use warnings; use Win32::Hardlink;
I get the following error (edited to remove paths specific to my machine):
Can't locate Win32/ in @INC (@INC contains: /path/to/perl/l +ib .) at path/ line 31.

I have done some research and found I can add:

use lib "/path/to/perl/site/lib";
to my script, and then it works fine. While this fixes the problem, I do not want to have to hard-code the site lib into every script as the paths are different on both machines and may change in the future. How can I go about fixing this permanently? (I am curious as well, is this an issue with ActiveState's Perl build or something with Win32?)