David T-G wrote:

> Hi, all --
>
> I'm having some trouble using this wonderful-looking module to tackle
> catching bounced mail and doing something with it.  I've followed the
> man page to a tee but get errors.
>
> Figuring that y'all can find the man page or don't need it, here is my
> basic script (with strict and warnings turned on above):
>
>   ...
>   my $bounce = eval { Mail::DeliveryStatus::BounceParser->new ( \*STDIN ) } ;$
>   if ( $@ )
>     { print "Whoa -- one we actually couldn't handle!\n" ; exit 255 ; }
>   my       @addresses = $bounce->addresses;       # email address strings ###
>   my         @reports = $bounce->reports;         # Mail::Header objects ###
>   my $orig_message_id = $bounce->orig_message_id; # "<[EMAIL PROTECTED]>" string     
>   ###
>   my $orig_message    = $bounce->orig_message;    # Mail::Internet object ###
>
>   print "WE HAVE orig_message_id AS .$orig_message_id.\n";        ###
>   print "WE HAVE orig_message AS .$orig_message.\n";      ###
>
> This works well enough except that $orig_message seems to be empty; well,
> I had an orig message in there but I'm not too worried about that at the
> moment.

I would suggest that you do.  Programs do not generally work well if the data is not 
getting into the variables.

>  The real problem is when I go on to say:
>
>   print "arrival-date: " ; print $report->get('arrival-date'); print "\n" ;
>
> and it pukes with
>
>   Global symbol "$report" requires explicit package name at ./catch-bounced-mail.pl 
> line 32.

What am I missing?  I look at the code posted, and see no declaration for any scalar 
$report?  Is there some
reason you expect the compiler to recognize this identifier?

> What do I need to do to get to each of these reports?

which reports?  The ones stored in the properly declared array @reposts?

foreach my $report (@reports) {
  $report->do_something();
}

Joseph


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to