Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: Re: printing an array with references in it

by ozgurp (Beadle)
on Jun 29, 2003 at 09:13 UTC ( #269978=note: print w/replies, xml ) Need Help??


in reply to Re: printing an array with references in it
in thread printing an array with references in it

Sorry for not being specific, I want to print the name of the subs.
  • Comment on Re: Re: printing an array with references in it

Replies are listed 'Best First'.
Re: Re: Re: printing an array with references in it
by tilly (Archbishop) on Jun 29, 2003 at 11:23 UTC
    You can't, unless your data structure stores the names somewhere or you want to walk the symbol table, or unless you give it a name in some other way.

    A code reference doesn't know by what name it appears, and cannot since it might be anonymous, or it might have been assigned to multiple names throughout the filesystem. (A common example of that is when you import functions from a module - that function is now both in the module and in your namespace, which is its name?)

    Therefore unless you want to start walking through the symbol table to see if any named function matches the function reference that you have, it doesn't have a name.

    BUT if you really want, what you can do is use bless to give references a name (well it does more, but we can ignore the more), and then with no change in your dumping code, function references will now keep track of the names given. I wouldn't recommend this for serious use, but it could be handy while debugging.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (7)
As of 2022-05-24 11:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you prefer to work remotely?



    Results (82 votes). Check out past polls.

    Notices?