package A; use strict; use vars qw/@EXPORT @ISA $problem/; use Exporter; @ISA = qw/Exporter/; @EXPORT = qw/$problem/; 1; #### package B; use strict; use vars qw/@ISA @EXPORT/; use A; use Exporter; @ISA = qw/Exporter/; @EXPORT = qw/foo/; sub foo { print "problem is $problem\n" } 1; #### use A; use B; $problem = "bar"; foo();