Yes, the DESTROY is this:
And commenting out the $self->print line kills the error.sub DESTROY { my ($self, @args) = @_; $self->print("End Logging"); undef $self->{'_fh'}; return 1; }
Now to understand why... Shouldn't $self->print be the same as calling it as $log->print? The filehandle is still defined until the next line...Hmmm. This is why perl objects confuse me! ;-)
Since DESTROY is being called implicitly, is the problem that it isn't getting all of the $log object, or perhaps there is a bug in the way the DESTROY object is handling the elements? Should I break out the elements as found in the 'new' method, like so:
Where we're breaking the array args into a hash arg. Nope, guess not, as it doesn't fix the error.sub new{ my ($class, @arg) = @_; my %arg = @arg; ... }
In reply to Re: Re: Objects and undefined values
by SwellJoe
in thread Objects and undefined values
by SwellJoe
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |