Thanks for the reply,
I had no problem processing individual bounces, and I was using similar code to what you posted above, the problem I was having was trying to process an entire mailbox which had collected over 10,000 bounces. Your suggestion to use something like 'Mail::Box' cleared things up for me ( I ended up using Mail::MboxParser ) which allowed me to feed it one message at a time, thanks again.
Just like you I noticed that it did not parse _all_ bounces well, in most situations this would have been fine for my purpose but I needed near 100% accuracy this time so instead I ended up using
bBounce it's $9.95 a month but if you have a large maillist it's priceless, I'm very happy with the service.