in reply to My globals are visable; but undef'ed

I finally worked out my solution. The problem was to consolidate all the constants that must be modified when the code is installed somewhere, into a single package. Accessible from all other packages that make up the project.
package Gbl; # simple holds Global data loaded from the config file eventually use strict; require Exporter; BEGIN{ } my @ISA = qw(Exporter); my @EXPORT = qw(); my @EXPORT_OK = qw(); use vars qw( $EmailAddr $VERSION ); $VERSION = sprintf "%d.%03d", q$Revision: 1.0 $ =~ /: (\d+)\.(\d+)/; $EmailAddr = "a\@b.com"; 1; __END__
So now all uses of the email address, in any package (or hunk of code) are
$From = "$Gbl::EmailAddr"; ....or somewhere else ... if ($Sender =~ /$Gbl::EmailAddr/) { ...
This also allows me to find all direct uses of this configurable data by `grep 'Gbl::' *`.

Thanks all for the help.