$ head -n 1 *.pm ==> AA.pm <== package AA; use base qw/Exporter/; our @EXPORT=qw/$knob1/; our $knob1 = 'no'; 1 ==> BB.pm <== package BB; use base qw/AA/; our @EXPORT=qw/$knob1/; 1 ==> CC.pm <== package CC; use base qw/BB/; our @EXPORT=qw/$knob1/; 1 $ perl -MCC -MBB -lwe '$BB::knob1=42; print for $AA::knob1, $BB::knob1, $CC::knob1' no 42 Use of uninitialized value in print at -e line 1.