A -> use FOO_ModuleX; -> use FOO_Module_Y; -> use FOO_Module_Z #### #! /usr/bin/perl use strict; use warnings; # Std Perl Modules use Carp; use File::Copy; ... actual list varies depends on script ... # Our modules. use FOO_X; ... actual list varies depends on script ... #======================= # Code begins... # A trivial example my $msg = foo_x_function( "hello" ); print "$msg\n" exit 0; #### ================================ PERL Version: (host RH EL4 - intel) This is perl, v5.8.5 built for i386-linux-thread-multi ================================ ====================================== The style/format of my modules are like this: (From: http://perldoc.perl.org/perlmod.html example) ====================================== #! /usr/bin/perl package NameX; use strict; use warnings use NameY; use NameZ; BEGIN { use Exporter (); our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS ); $VERSION = 1.00; @ISA = qw( Exporter ); @EXPORT = qw ( &func1 &func2 ); %EXPORT_TAGS = (); @EXPORT_OK = qw(); } sub func1 { } sub func2 { } ====================== #### use Works_First; TURN_ON_MAGIC_HERE; use ProblemModule; TURN_OFF_MAGIC_HERE; use OtherModules;