Hi, 
 
am I correct in the assumption that the following is an error? 
  # Not in a BEGIN block 
  my $::(calc_varname()) = 42; 
 
I think so, as my() is a compile-time operation, but in this 
example, the variable name is not known until runtime, so I 
think this should be forbidden.  Correct? 
 
But: 
  BEGIN { 
    my $::(calc_varname()) = 42; 
  } 
I think this one is ok, as the compiler can invoke 
&calc_varname at compile-time, and therefore know the variable 
name at compile-time.  Correct? 
 
FWIW, I wouldn't mind BEGIN { my $::(...) } being disallowed, too 
(consistency). 
 
 
--Ingo 
 
--  
Linux, the choice of a GNU | self-reference, n. - See self-reference   
generation on a dual AMD   |  
Athlon!                    | 

Reply via email to