On Thu, Sep 16, 2004 at 10:35:45PM -0700, Larry Wall wrote:
> Except that only one of these variables' meanings is actually
> associated with subs.  And I kind of like to read the C<?> as "which".
> So if we actually make use of our sigils, we get possibilities like this:
> 
>     $?file    Which file am I in?
>     $?line    Which line am I at?
>     $?package Which package am I in?
>     @?package Which packages am I in?
>     $?module  Which module am I in?
>     @?module  Which modules am I in?
>     $?class   Which class am I in?
>     @?class   Which classes am I in?
>     $?role    Which role am I in?
>     @?role    Which roles am I in?
>     $?grammar Which grammar am I in?
>     @?grammar Which grammars am I in?
>     &?sub     Which sub am I in?
>     @?sub     Which subs am I in?
>     $?sub     Which sub name am I in?
>     &?block   Which block am I in?
>     @?block   Which blocks am I in?
>     $?block   Which block label am I in?
> 
> Some of those may be sillier than others.  But the fact that these all
> contain a C<?> is a good visual indication that they're all potentially
> generic in meaning when you use them in a macro.  I kinda like that.

Maybe I'm just being curmudgeonly, but is this really that useful to
have such shortcuts? I presume that there will be alternate ways to
access the same information (like maybe a special hash
(%*WHICH{'package'} and %*WHICH{'file'}) or some other suitable
abstraction (maybe there's an object that represents the program state
that you can query $*PROG.file, $*PROG.line, etc.)) 

But is it really worth the the secondary sigil?

-Scott
-- 
Jonathan Scott Duff
[EMAIL PROTECTED]

Reply via email to