Nefungujici hash

Miroslav Kure kurem na alpha.inf.upol.cz
Pondělí Duben 3 08:14:07 MEST 2000


Dobry den.

Mam zde takovy problem. prilozeny kod ma delat filtrovani posty do
jednotlivych souboru podle konference, ze ktere prijde. Vsechno funguje,
jenom pokud neco prijde z databases na linux.cz, nerozpozna to a strci do spool
directory (kde je "nerozpoznana" => ne z konfer posta).

Nejdriv jsem myslel, ze listserver posila nejake vadne hlavicky, ale je to
ten samy, co obsluhuje linux na linux.cz, ktery funfuje.
Nehlede na to, ze na lokale jsem si tak cvicne posilal postu sam pro sebe
(To: kurem Cc: databases na linux.cz) - nezasitovany stroj... a taky nic.

Netusite, kde je chyba??? Diky za jakykoliv namet.

S pozdravem Miroslav Kure

---------------------------------------------------------------------
#!/usr/bin/perl

my $base = '/home/student/inf98/kurem/Mail/';
my $spool = '/var/spool/mail/kurem';
my $mailbox = "";
my $this_mail = "";

my %lists = ("mpx-l" => "alpha-mp3",
	     "mp3encoder" => "alpha-lame",
	     "paranoia" => "alpha-paranoia",
	     "databases\@linux" => "databases",
	     "perl\@muni" => "perl",
	     "debian.org" => "debian",
	     "linux\@linux" => "linux");

$scan = (%lists) ? 1 : 0;

 LINE: while ($line = <STDIN>) {
     $this_mail .= $line;

     if ($scan) {
	 if ($line =~ /^To: (.+)/ || $line =~ /^Cc: (.+)/) {
	     foreach $list (%lists) {
		 $mailbox = $lists{$list} if ($1 =~ /$list/i);
	     }
	 }
	 $scan = 0 if $line eq "\n";
     }
 }

if ($mailbox) {
    $mailbox = $base . $mailbox;
}
else {
    $mailbox = $spool;
}

open (POSTA, ">>$mailbox");
print POSTA $this_mail;
close (POSTA);
------------------------------------------------------------------------


Další informace o konferenci Perl