my $scalar; test(); sub normal :lvalue { proxy(); } sub proxy :lvalue { $scalar; } sub nlv { my $x="not lvalue" } sub test { nlv(); normal=42; print $scalar; }