(This maybe should go in Anyperl, but in the end Modules seemed the best.) I just "wasted" a huge amount of time on a difficult to find bug and I thought I would share my stupidity with y'all, as this is not something I have seen a clear warning against. I tend to use modules a lot to try to keep code from getting out of hand - these are one program, never to be shared modules. I was writing a fairly complex web package; a Web front end for a database. As I tend to do, I have one cgi, named wdb.cgi, for all functions, and that cgi simply dispatches calls to the correct subroutine. These subroutines are found in one of four modules, depending on their function. One module has most (probably should have been all) of the shared routines, and it is called WDB.pm. The other three modules (including one called MEM) call subroutines in WDB a lot, so they all contain the line: use WDB; Foolish me, at one point in WDB I wanted to use a public subroutine in MEM, so WDB contained the line: use MEM; This is double plus ungood! The result was that MEM couldn't find any of the EXPORTed subroutines in WDB. Unless I am still even more confused than I think I am, one should never have circular "use"es of modules. Am I right? Might this be a useful generalized warning to insert into the standard perl texts? -David- David Steffen, Ph.D. President, Biomedical Computing, Inc. <http://www.biomedcomp.com/> Phone: (713) 610-9770 FAX: (713) 610-9769 E-mail: steffen@biomedcomp.com ==== Want to unsubscribe from this list? ==== Send mail with body "unsubscribe" to macperl-modules-request@macperl.org