I don't understand what you are doing, and you aren't showing enough code. the "use Some::Thing;" goes by file on your disk, never what is inside the file. It has no connection to the packages declared in that file. Usually a Perl module file's name will be identical to the
statement in the that module for sanity reasons.