Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re^2: How Are Attributes Useful?

by Limbic~Region (Chancellor)
on Jan 19, 2005 at 00:49 UTC ( [id://423232]=note: print w/replies, xml ) Need Help??


in reply to Re: How Are Attributes Useful?
in thread How Are Attributes Useful?

scooterm,
to envision a circumstance where someone might want to redefine metadata about a subroutine or method, without necessarily changing its name

It is my understanding that attributes are handled in the compiling phase (or rather non-runtime phases) so I fail to see how this would allow you to redefine the subroutine metadata. Could you provide an example of how to do this so that I might better understand?

Cheers - L~R

Replies are listed 'Best First'.
Re^3: How Are Attributes Useful?
by dimar (Curate) on Jan 19, 2005 at 07:08 UTC
    It is my understanding that attributes are handled in the compiling phase (or rather non-runtime phases)

    That is consistent with my understanding as well. I personally do not have sample code to honor your specific request, but it is a good question. Absent specific code samples, discusson on this topic tends to diminishing returns.

Re^3: How Are Attributes Useful?
by talexb (Chancellor) on Jan 19, 2005 at 15:19 UTC
      It is my understanding that attributes are handled in the compiling phase (or rather non-runtime phases) ..

    Well, I disagree, but without either the knowledge of how perl works or the time to delve into the perl code, I can't back up my feeling about this. I think both compile-time *and* run-time behvaiour is affected by attributes.

    I wonder if TimToady or DanS could help us out here.

    Alex / talexb / Toronto

    "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

      talexb,
      After discovering Attribute::Handlers::Prospective and playing around with it for a while, I did find that you can trigger a piece of code to be run at any phase, to include runtime, as a result of using an attribute. What is still unclear to me is:
      • How this can be accomplished without this module. The documentation on attributes is lacking in my opinion and this module was written by TheDamian using source filters afterall.
      • How triggering a piece of code can make a variable read-only, as you suggested previously, or have any other effect on its behavior. The code only gets triggered once, not each time the variable/sub is accessed
      So far - it still seems to me to be nothing more than a label that you can attach providing the possibility of other code to react to that label.

      ...but without either the knowledge of how perl works or the time to delve into the perl code
      That is the point of the original question. It seems that a lot of people are in the dark. It also seems that there are a lot of assumptions about what is possible without any code backing it up. It seems to me that it shouldn't be very hard for someone that really understands attributes to post a small snippet demonstrating how to use them.

      Cheers - L~R

      Update: Added last paragraph moments after hitting submit.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://423232]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2024-04-25 23:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found