Jared Johnson wrote:
So perhaps Data::Dumper is having some trouble handling our data
structure? We get the same error trying to operating on $transaction
alone or $self alone.
Try setting
$Data::Dumper::Purity = 1;
(use the POD, Luke...;-)
My questions right now -- anybody got another reccomendation for a
module as handy as Data::Dumper?
YAML or YAML::Syck will both serialize data structures (though you have
to learn to read what they write).
You can, if you so choose, run qpsmtpd under the Perl debugger. If you
are using DJB's daemontools, the following will work:
exec /usr/local/bin/softlimit -m 25000000 \
/usr/local/bin/tcpserver -c 10 -v -R -p \
`head -1 config/IP` 2525 \
perl -dT ./qpsmtpd
Just put
$DB::single = 1;
where you'd like the debugger to halt execution and examine the various
data structures yourself. You can't do this in any mode other than
immediate (i.e. you can't easily test forkserver), but this goes a long
way towards understanding the internals...
HTH
John