"be consistent" | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
> While auto-magically defining my $name = \@name would simulate
It's not only simulating, one has to enforce the control over both namespaces to make it safe and detect conflicts. > is implicit dereferencing a scalar variable really a safe thing to do? the implicit my for the bound variable guarantees this. Many languages do implicit dereferencing, they just can't afford separated namespaces then. > If not, then this feature would be setting up Perl beginners for problems when implicit dereferencing needs to be disabled. most of this thread is dealing with the question of how to safely blend with "classical" variables. (which wasn't my initial intention) My current approach is that a array reference $arr_ref with implicit dereferencing shouldn't allow equally named variables of other types, i.e. if $name[.] := $name->[.] then trying to use $name{} or $name->{} or $name->() in the same scope should fail at compile time, if those variables live in an upper scope they should be hidden in the current scope. I have problems to imagine code where the same identifier is used for different types, which shouldn't be better refactored.
Cheers Rolf
In reply to Re^2: Unifying namespaces of @name and $name to simplify dereferencing?
by LanX
|
|