You can also just store a reference to your lexical in a
global to simulate the same thing. Yes, "global" "closures"
are probably harder to notice than global variables, but
the same basic principle applies: keeping a reference to
something around prevents it from being destroyed (until
global destruction, of course).
But none of that changes the fact that you can avoid the
problems with misordered destruction by using only lexical
(including making sure that any references to said lexicals
are also only in lexicals, etc.). That is a very practical
bit of information.
Also, current versions of Perl create a reference loop for
"real" closures and so they would also cause you problems
(as well as leaking memory if you create lots of closures).
(but my friends call me "Tye")
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link
or How to display code and escape characters
are good places to start.