in reply to Re: Module Undefined Subroutines, works one way - not another
in thread Module Undefined Subroutines, works one way - not another

If ModA uses ModB, ModB uses ModA, and both ModA and ModB export symbols, you have a bad design.

I do not think creating ONE huge source module with 300K to 500K of code is a good idea... That's why I broke the modules up into functionality areas. ie: "Report", "User", etc...

Perhaps I come from an old school - no function - longer then 1 or 2 screens, and group "like functions" into the same file.

The modules use each other - effectively via "callbacks", yea, I could pass pointers to functions etc... but that overly complicates the matter *because* they will never call any other function other then then one.

I'll try what you suggest, move the USE ater the BEGIN statements.

I note specifically your example also has a few USE items before, then the begin, then my rats nest of USE statements. Do you mean that specific order is important? I presume the problem (my) modules go last.

Thanks... -Duane.

  • Comment on Re^2: Module Undefined Subroutines, works one way - not another

Replies are listed 'Best First'.
Re^3: Module Undefined Subroutines, works one way - not another
by ikegami (Patriarch) on Jan 11, 2007 at 22:52 UTC

    I note specifically your example also has a few USE items before

    Aye, but strict and warnings don't use any module which use them, strict and warnings don't export anything to modules from which they import, and they are pragmas more than modules.

    They are before the BEGIN block so that they affect the code before and in the BEGIN block.