sub _access_maker { #{{{ my $pkg = shift; #var in $_ { my $proc = '# line ' . __LINE__ . ' "' . __FILE__ . "\"\n" . ' { use warnings;use strict; package '.$pkg.'; sub '.$_.' (;$) :lvalue { unshift @_, [shift, Data::Vars::varname((caller 0)[3]), wantarray]; goto &Data::Vars::_Var}; 1}'; eval $proc; $@ and die "Fatal error in $pkg\::Vars\::_access_maker?: $@\n"; } } ## end sub _access_maker }}} #### sub _access_maker { #{{{ my $pkg = shift; #var in $_ { my $proc = '# line ' . __LINE__ . ' "' . __FILE__ . "\"\n" . ' { use warnings;use strict; package '.$pkg.'; sub '.$_.' (;$) :lvalue { ' . ($] >= 5.016 ? ' unshift @_, [shift, Data::Vars::varname((caller 0)[3]), wantarray]; goto &Data::Vars::_Var ' : ' &Data::Vars::_Var( [shift, Data::Vars::varname((caller 0)[3]), wantarray], @_); ') .'}; 1}'; eval $proc; $@ and die "Fatal error in $pkg\::Vars\::_access_maker?: $@\n"; } } ## end sub _access_maker }}}