$ perl -wMstrict -e '$Module::configvar=0; if($Module::confgivar=1) { print "<$Module::configvar>\n"; }' Found = in conditional, should be == at -e line 1. Name "Module::confgivar" used only once: possible typo at -e line 1. <0> #### BEGIN { package LoggingScalar; require Tie::Scalar; our @ISA = 'Tie::StdScalar'; use Carp 'cluck'; sub STORE { cluck "STORE"; shift->SUPER::STORE(@_) } tie $Module::configvar, 'LoggingScalar'; }