On Mon, Dec 13, 2010 at 09:07:00AM +0100, Johan Vromans wrote: > [Quoting Eric Brine, on December 13 2010, 02:51, in "Re: [perl #80628] [P"] > > On Mon, Dec 13, 2010 at 2:09 AM, Johan Vromans <jvromans@squirrel.nl> wrote: > > > > > More important is whether it is a keyword, or a compile time constant > > > like __FILE__ and __LINE__. > > > > > > -- Johan > > > > > > > As proposed, it's not constant. > > Then please do not call it __SUB__. > > What would be the difference with (caller(0))[3] ? > Because the latter doesn't work? $ perl -wE '$f = sub {say "Hello"; (caller (0)) [3] -> () if @_}; $f -> (1)' Hello Undefined subroutine &main::__ANON__ called at -e line 1. $ (caller (0)) [3] requires an entry in the symbol table - which not every sub has. AbigailThread Previous | Thread Next