hi Joe -- just ignore the return value of finish() -- it's a void method. (note how it doesn't mention a return value in its POD doc ;)
--j. Joe Flowers writes: > Hello Everyone, > > I'm getting a weird error message that I have never gotten before over > several versions of SA. I just upgraded from "SpamAssassin version 3.1.7 > running on Perl version 5.8.8" to "SpamAssassin version 3.2.0 running on > Perl version 5.8.8". Now, my calls to > Mail::SpamAssassin::PerMsgStatus::finish are "failing"; or at least, it > looks like their has been some change in the return values by finish(). > > I have been running this programming over many iterations of SA and this > is the first time I have run into such a problem. > > This worries me a lot because from the docs > (http://spamassassin.apache.org/full/3.2.x/doc/Mail_SpamAssassin_PerMsgStatus.html): > " > $status->finish () > .... > If you are using SpamAssassin in a persistent environment, or > checking many mail messages from one Mail::SpamAssassin factory, this > method should be called to ensure Perl's garbage collection will clean > up old status objects. > ". > > These calls "succeed" as usual: > > Mail::SpamAssassin::PerMsgStatus::get_required_score > Mail::SpamAssassin::PerMsgStatus::get_score > Mail::SpamAssassin::PerMsgStatus::is_spam > Mail::SpamAssassin::PerMsgStatus::get_names_of_tests_hit > <Mail::SpamAssassin::PerMsgStatus::finish would normally go here if it > "succeeded".> > > Any ideas please? > > Joe