DESTROY is the destructor for the class. If you use AUTOLOAD
but not DESTROY, you will get the above error message, because
AUTOLOAD is called for the DESTROY method (because AUTOLOAD
catches all undefined method calls on the object), and you
do not have a DESTROY method to call.
Since you have Object Oriented Perl, I suggest you look at page
112, at the section "Destructors and autoloading". It explains
the situation far better than I can, and offers a solution (actually,
two).
For those who don't have the book :), the best solution is to
define an empty DESTROY method in your class:
sub DESTROY { }
The existence of this method will prevent AUTOLOAD from being
called on object destruction.
-
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>
<u> <ul>
-
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
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|