The common practice in Perl is of course to end modules with 1; so that a call to require can then be checked for success. Is there any reason that the return
The purpose is that if your module returns false, the require can fail at that point. Nobody cares about or relies on the value beyond it being true or false.
You should follow suit. You are making it so that your modules depend on the actual value beyond whether it is true or false. In the example you gave, for instance, if your require happens to return 1, the require will succeed, but your clever constructor will fail.