🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #52089

Re: problem logiczny ze skryptem

#52089
From: gregor
Date: Sun, 05 Dec 2010 17:26
76 lines
2601 bytes
OK jakos tam sobie poradzilem jak na moje umiejetenosci
moze sie komusc przyda chodzi przyzwoicie i ladnie zczytuje logi z postfixa

#!/usr/bin/perl

$dir = '/usr/skrypty/maillog/boborowa/logi';

#`/bin/rm -f $dir/wynik/*`;
#31 maillog
my %skrzynki = (
                     'biuro@xxx.pl' => 1,
                     'marketing@xxx.pl'        => 1,
                 );

foreach my $sprawdz (keys %skrzynki)
{
open ZAPISZ, "+>>$dir/wynik/$sprawdz";

for ($i=309;$i>=31;$i--)
{
open(UCHWYT, "$dir/maillog.$i");
open(UCHWYT_copy, "$dir/maillog.$i");
@UCHWYT = <UCHWYT_copy>;

my %Q;
my %line;

while (<UCHWYT>)
{
#sprawdzam czy wpis jest emailem jesli tak to wchodzi dalej i sprawdza w 
haszu czy jest email jesli tak obrabia go dalej i tworzy linie
     if 
(/([\w\.-]*[a-zA-Z0-9_]@[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z])/)
     {
         if ($skrzynki{$1} && $sprawdz eq $1)
         {
             if (/([0-9A-Z]{10})/)
             {
                 $Q{$1} = 1;
             }
             if (/([0-9:]{3}[0-9:]{3}[0-9]{2})/)
             {
                  $line{$_} = $1;
             }
             $queue_id = "";
         }
     }
}
close UCHWYT;

# tu robie grep jeszcze raz dla maillog z konkretym ID queue i dopisuje 
do lini
foreach (keys %Q)
{
     $id = $_;
     foreach (grep (/$id/, @UCHWYT))
     {
         print $_;
         if (/([0-9:]{3}[0-9:]{3}[0-9]{2})/)
         {
             $line{$_} = $1;
         }
     }
}

# wyswietlam posortowane wpisy na podstawie godziny
# tu pojawia sie problem bo jak sortuje po godzinach to
# gubi sie kolejnosc wpisow
foreach my $line (sort keys %line)
{
     print ZAPISZ $line;
}
close UCHWYT_copy;
}
close ZAPISZ;
}
Technical Details
Message-ID: <idghvm$7d6$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <idbb3m$dpe$1@inews.gazeta.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: gregor <gregor@szu.pl>
Newsgroups: pl.comp.lang.perl
Subject: Re: problem logiczny ze skryptem
Date: Sun, 05 Dec 2010 18:26:22 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 76
Message-ID: <idghvm$7d6$1@inews.gazeta.pl>
References: <idbb3m$dpe$1@inews.gazeta.pl>
NNTP-Posting-Host: sub197-195.elpos.net
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1291569974 7590 85.193.197.195 (5 Dec 2010 17:26:14 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Sun, 5 Dec 2010 17:26:14 +0000 (UTC)
X-User: chrupolek
In-Reply-To: <idbb3m$dpe$1@inews.gazeta.pl>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.12) Gecko/20101027 Thunderbird/3.1.6
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit