in reply to Static Variables in Perl

How's this?

$ 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 AA; our @ISA=qw/AA/; our @EXPORT=qw/$knob1/; 1 ==> CC.pm <== package CC; use BB; our @ISA=qw/BB/; our @EXPORT=qw/$knob1/; 1 $ perl -MCC -MBB -lwe '$BB::knob1=42; print for $AA::knob1, $BB::knob1 +, $CC::knob1' 42 42 42

Note, however, that the following *doesn't* work. (use base doesn't call import)

$ 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.