If you're requiring a file that defines a package, then it should be a ".pm" file, and you can just, e.g., require packagename without the ".pm" (and without any quotes around the package name), and this use of require is "acceptable."
This was the way to import code prior to the invention of Perl modules (Perl 5?). Anyway, this use of require is obsolete now. It's not much more than an eval of some external code.