http://www.perlmonks.org?node_id=921930


in reply to Re^2: Writing Modules
in thread Writing Modules

If you turn on strict in your calling script, you'll get more information on what's going on. Basically though, you still haven't addressed this issue:

Which module name? Your package is named here:
package pack;
You're invoking it with:
use mine::package;

The others have already gone into what needs to be resolved to fix that. I'd recommend re-reading their replies and follow their suggested references and read those too. It's all there, it's just not necessarily spelled out for you directly.

EDIT: On second look, you've introduced a couple more issues as well with your changes. You should definitely turn strict back on in your package, as well as adding it to your test program. Turn on warnings everywhere as well. They will point out very clear issues, but the perl errors and warnings won't necessarily make perfect sense unless you know what exactly they're talking about. For that you definitely need to read those references.

--Dave

Replies are listed 'Best First'.
Re^4: Writing Modules
by perl.j (Pilgrim) on Aug 23, 2011 at 15:29 UTC
    I turned on strict and warnings. It is saying (in my test program)
    Global symbol "$thing" requires explicit package name at C:\myperl\Per +lJunk\mo.p l line 3.
    . I know what that means but I already said our $thing in my "module". I am really confused...
    --perl.j