Re: nombre d'email a lire

Pàgina inicial

Reply to this message
Autor: Patrice Karatchentzeff
Data:  
A: guilde
Assumpte: Re: nombre d'email a lire
Le Tue, 30 Dec 2003 23:37:01 +0100
stephane.driussi@??? écrivait :

[...]

> ; le serveur retourne
> * 712 EXISTS
> * 11 RECENT
> * OK [UIDVALIDITY 1014] UID validity status
> * OK [UIDNEXT 419] Predicted next UID


[...]

> je voudrais automatiser ceci pour recuperer la variable EXISTS et
> RECENT comment faire en perl par exemple ?


Le mieux est d'écrire un script car en ligne de commande, cela risque
d'être très lourd....

Tu mets ta sortie dans un fichier (tu peux le faire depuis Perl
directement) et (minimaliste...) :

#!/usr/bin/perl -w

use strict;

my $file = $ARGV[0]; # nom du fichier
my $chain1 = $ARGV[1]; # motif de recherche
my $chain2 = $ARGV[2]; # motif de recherche

my $recent = "" ; # nombre de courriels nouveau
my $exist = "" ; # nombre de courriels total

my @tmp ; # variable temporaire pour travail sur une ligne

open (FILE, $file)
  or die "can't open $file: $!\n";
while (<FILE>) {
    if (/$chain1/) {
      @tmp = split(/ +/); # adapter suivant le séparateur
      $recent = $tmp[0] ;
    };
    if (/$chain2/) {
      @tmp = split(/ +/); # adapter suivant le séparateur
      $exist = $tmp[0] ;
    };
  }
close(FILE);


# accord pour respecter les nombres
my $message = "message" ;
$message = "$message"."s" if ( $exist >= 2);
my $nouveau = "nouveau" ;
$nouveau = "$nouveau"."x" if ( $recent >= 2);

print "Vous avez $exist $message, dont $recent $nouveau\n";

% ./imap.pl log RECENT EXIST
Vous avez 712 messages, dont 11 nouveaux

PK

-- 
Patrice KARATCHENTZEFF
STMicroelectronics           Tel:  04-76-92-67-96
850, rue Jean Monnet
38926 CROLLES Cedex,  Courriel: patrice.karatchentzeff-alplog@???