If you’ve been programming Perl for a while, you’ve probably run into this exception: Foo.pm did not return a true value. This is a peculiar quirk of the require function: modules must return a true value else Perl interprets it as a failure:
The file must return true as the last statement to indicate successful execution of any initialization code, so it’s customary to end such a file with “1;” unless you’re sure it’ll return true otherwise. But it’s better just to put the “1;”, in case you add more statements.
perlfunc
Source: https://www.perl.com/article/patching-perl-loading-modules-that-return-false/