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@???