AnyEvent-Postfix-Logs

 view release on metacpan or  search on metacpan

examples/watch_logs.pl  view on Meta::CPAN

    sources => [ \*STDIN ],
    on_mail => sub {
        my $mail = shift;
        $traffic{ $_ } += $mail->{size} for @{ $mail->{to} };
    }
);

my $usr1 = AnyEvent->signal(
    signal => "USR1",
    cb     => sub {
        say "$_: $traffic{$_}" for keys %traffic;
        say "---";
        %traffic = ();
    },
);

my $usr2 = AnyEvent->signal(
    signal => "USR2",
    cb     => sub {
        $guard->broadcast;
    },
);

say "Watcher running with pid ", $$;

$guard->wait;

lib/AnyEvent/Postfix/Logs.pm  view on Meta::CPAN



=head1 SYNOPSIS

    use AnyEvent::Postfix::Logs;

    my $cv = AnyEvent->condvar;

    AnyEvent::Postfix::Logs->new(
        sources   => [ \*STDIN ],
        on_mail   => sub { say "Mail from $_[0]->{from} to ", join(", ", @{ $_[0]->{to} } ) },
        on_finish => sub { say "No more mail"; $cv->send() },
        on_error  => sub { croak $_[0] },
    );

    # do some more stuff

    $cv->recv;
    ...

=head1 DESCRIPTION



( run in 3.970 seconds using v1.01-cache-2.11-cpan-483215c6ad5 )