So long as you remember to refer to things using the correct package name (HR::myFunction
) rather than the file name (MyModule::myFunction
), the only technical issue is that symbols exported by the package won't work automatically. If it exports anything, you'll have to manually call HR->import;
after you use MyModule;
because the automatic call to MyModule->import;
won't do anything.
Even though it doesn't cause technical problems, it does tend to cause major usability and maintenance problems, so, as a general rule, it shouldn't be done except in very limited circumstances. A package named HR in a file named MyModule.pm is not one of those circumstances.