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.
In reply to Re: Static Variables in Perl
by benizi
in thread Static Variables in Perl
by RollyGuy
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |