Note that /My/.../This is a directory, not a file. The functionality of use lib "<dir>" (or multiple dirs with: use lib ("<dir1>", "<dir2>"); ) is to tell perl interpreter where to look for packages, which are files. You achieve the same with perl -I"<dir>" -I"<dir2>". That's the @INC - an array of directories to look for package files in. As with any include-files system there are precedence rules in order to resolve what happens in same filenames in different directories. Simply: first-comes-first-served.
package XYZ; is used in Perl as a means to define and implement a module. Which you use (or require) later on.