Alexander (HH): Modul Mail::IMAPClient

Beitrag lesen

Moin Moin!

»» folgender Code liefert unten genannte Warnungen:
»»
»» ~~~perl

foreach my $f ($imap->folders) {

»»   print "The $f folder has ",
»»     $imap->unseen_count($f)||0, " unseen messages.\n";
»»
»»   my @unread = $imap->unseen;

unseen() bezieht sich auf den per select() ausgewählten Ordner. Du wählst keinen Ordner aus. Das Ergebnis ist daher undefiniert.

»»
»»   foreach my $msg (@unread) {

(Stil: @unread enthält keine Messages, sondern Message Sequence Numbers.)

»»     my $from = $imap->get_header($msg,"From");

Was passiert, wenn eine Message keinen From-Header enthält (das sollte nicht passieren, aber es KÖNNTE passieren)?

»»     $mailcount{$from}++;
»»   }
»» }


> »»  
> »» Use of uninitialized value $msg in concatenation (.) or string at Mail/IMAPClient.pm line 2179.  
  
@unread entält ein undefiniertes Element, vermutlich weil unseen ohne ausgewählten Ordner aufgerufen wurde.  
  

> »» Use of uninitialized value $msgspec in hash element at Mail/IMAPClient.pm line 2237.  
  
Folgefehler.  
  

> »» Use of uninitialized value $from in hash element at imap.pl line 24.  
  
Folgefehler.  
  

> Zeile 24 ist die Zuweisung des Hashes: $mailcount{$from}++;  
  
Alexander

-- 
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".