in reply to module problems

Each module is it's own Namespace.

The "cat" sub is declared in the "my_mod" namespace, and it is NOT in your "dog" script.

The reference needs to be explicit, unless you Export/import the names (a more advanced topic than you probably care for at the moment).

Try calling like this from 'dog":

my_mod::cat();
As you get more familiar with objects, you will probably want to create a "new" sub inside my_mod, and then create an instance of the class inside dog by doing:
my $kitten = new my_mod; $kitten->cat(); # No need to qualify - $kitten already has access to + the my_mod namespace.

     "As you get older three things happen. The first is your memory goes, and I can't remember the other two... " - Sir Norman Wisdom

Replies are listed 'Best First'.
Re^2: module problems
by PerlZealot (Acolyte) on Apr 02, 2008 at 23:09 UTC
    Used  my_mod::cat();. It worked.