I ran 'perl -wc' on a few of the C4 modules, and found that there are a number of circular dependencies, i.e., cases where two modules have "use" statements pointing at each other, or where Module1 uses Module2, which uses Module3, which uses Module1. Thanks to the magic of 'find | grep | tsort', I'm appending a list of these cycles at the end of this message. But 'perl -wc Module.pm' will also tell you if there's a cycle, by complaining that all of the functions in "Module.pm" are redefined. At first, I thought this meant that the first file in the loop would get read twice, but this doesn't appear to be the case. However, I think this does indicate spaghetti code and/or lack of modularity. -- Andrew Arensburger This message *does* represent the arensb@ooblick.com views of ooblick.com Do you want to make people's heads explode? Sure! We all do! C4/InterfaceCDK.pm C4/Circulation/Renewals.pm C4/Circulation/Issues.pm C4/Circulation/Main.pm C4/Reserves.pm C4/Interface/ReserveentCDK.pm C4/InterfaceCDK.pm C4/Accounts.pm C4/Interface/AccountsCDK.pm C4/InterfaceCDK.pm C4/Circulation/Renewals.pm C4/Interface/RenewalsCDK.pm C4/Accounts.pm C4/InterfaceCDK.pm C4/Circulation/Renewals.pm C4/Circulation/Issues.pm C4/Circulation/Main.pm C4/Reserves.pm C4/Accounts.pm C4/InterfaceCDK.pm C4/Circulation/Renewals.pm C4/Circulation/Issues.pm C4/Circulation/Main.pm C4/Circulation/Returns.pm C4/Search.pm C4/Reserves2.pm C4/Accounts.pm C4/InterfaceCDK.pm C4/Circulation/Renewals.pm C4/Circulation/Main.pm C4/Circulation/Issues.pm C4/Circulation/Borrower.pm C4/Circulation/Main.pm C4/Accounts.pm C4/InterfaceCDK.pm