Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

Simply stated, you cannot do what you are trying to do. That is, you cannot share objects between threads.

I'm not going to explain that, but just ask you to take my word for it.

I'm also going to suggest that given your current level of understanding of Perl, you should not even be considering using threads.

An example of what I mean is your new function.

  • It creates a scalar called $self to which it assigns a reference to an anonymous hash.
  • It then passes a reference to that reference into a thread.

    That thread will get a copy of the reference to a scalar, which will be a copy of the scalar $self which will point to a copy of the anonymous hash containing a copy of the key 'universe' and a copy of whatever value was passed in to initialise that value.

    Nothing you do to any of the copies, will ever be visible to the other.

  • The function ends by blessing and returning a reference to a completely different, undeclared, and uninitialised hash called %self.

    %self has no relationship to the scalar called $self.

Given your demonstrated level of understanding of Perl; your attempts to use threading will just fail.

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

In reply to Re: Access to $self in a thread? by BrowserUk
in thread Access to $self in a thread? by Codeman_Rhodes

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and all is quiet...

    How do I use this? | Other CB clients
    Other Users?
    Others exploiting the Monastery: (7)
    As of 2017-12-16 00:47 GMT
    Find Nodes?
      Voting Booth?
      What programming language do you hate the most?

      Results (447 votes). Check out past polls.