in reply to Loading a module into many packages

I'd start with a minimal test case. Does 'Hello world' run?

#!/usr/bin/perl use strict; use warnings; use mymodule; print "Hello World\n";

Does your module load?

Then, can you call a sub in your module?

Slowly build yourself back up to your main program adding in more code to see what is going on.

I know it sounds simplistic but this has helped me a ton of times.

Fendaria

Replies are listed 'Best First'.
Re^2: Loading a module into many packages
by arkturuz (Curate) on Oct 26, 2006 at 15:31 UTC
    See an update. mymodule loads ok. I use it in many other places without problems.
      Is that really all/exactly the code in your module? If this is the case, your module isn't in a package and is just raw perl code. This perl code is getting inserted into your MyClass package which is probably not what you want. I removed the other class and this still generates the error, which leads me to believe this is your problem.

      { package MyClass; use test_func; test_me('in class'); };

      This is a problem of package scoping test_func.pm should look something like this...

      package test_func; sub test_me { #..... } 1;

      You can then call the test_me as &test_func::test_me from main

      I would highly recommend taking a look at the package Exporter.

      The perl docs on packages and modules would also be very helpful. perlmod

      Fendaria