in reply to Picking up a module from a specific location

require "P4.pm"

Why not  require P4;?

I have specified "use lib path2" but it still always picks up the one at path1.

This is not likely