http://qs321.pair.com?node_id=891843


in reply to Re^2: Simple Module Tutorial
in thread Simple Module Tutorial

Dear toolic,

Thank you for your reply. I now have changed all instances of "Test" with "MyModule" and also changed the name of the module. MyModule.pm is now situated on

/storage/username/local/perl/site/lib

and I use

use lib '/storage/username/local/perl/site/lib'; with the second case (as per the example):
# case 2 use MyModule; print func1(@list),"\n"; print MyModule::func2(@list),"\n";

but I still get the same error: Undefined subroutine &main::func1 called at MyScript line 15.

Just to make sure I copied the module exactly from the example but to no avail. Interestingly, when I comment out the print func1 part, the line after that produces correct output. I hope that someone could point out to me where I am at fault.

Best regards,

Gideon

Replies are listed 'Best First'.
Re^4: Simple Module Tutorial
by toolic (Bishop) on Mar 07, 2011 at 16:34 UTC
    You didn't copy the example exactly!

    You copied case 1. Your code does not export any functions, just as the Tutorial says it won't. You need to export the functions before you try to use them that way:

    use MyModule qw(&func1);