in reply to Creating a module

Ahh, The flurry of posts on this one is going to be great. As the answer is 1; we should deleve into the depths of this problem in detail. The question you should be asking yourself, young one, is "Why didn't I believe the compiler?"

Obviously, you have never learned that perl modules need to return a true value at the bottom of the code. This answer is obvious. Where then, could you have gotten this information from?

  1. You could go to perl monks and ask. Which you did... not a bad way, and it gives us something to talk about. But I'm sure right now that you asked on the chatbox.
  2. read perldoc perlmod It clearly states in there how to go about building a module including using the true value at the end.  1;  # don't forget to return a true value from the file
  3. You could have read perldoc -f use. This would have told you
    BEGIN { require Module; import Module LIST; }
    which hopefully would have sent you to perldoc -f require. There it states
    $result = do $realfilename;
    delete $INC{$filename} if $@ || !$result;
  4. Read another perl module. As your syntax is fine (and easy to check with perl -c), you must have realized that you were missing something specific to modules. Another module would have answered that for you.
Oh Monk! This is not a rebuke of your programming skill, you know now what you need.
Oh Monk! This Sangha is here to help! But asking here is like making a wish, you may get what you asked for, and much more.
Oh Monk! Strive unceasingly towards Perl Perfection. You have violated the Law of Laziness, far easier to ask a quick question than post a long code snipit.