Bonjour

j'ai écrit un script (avec votre aide ) et quand je l'exécute, j'ai un message d'erreur que je n'arrive pas à corriger. Voici le script:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!C:/perl/bin/perl -w
 
use strict;
use List::Util qw(min);
 
my $date=localtime;
 
open ( STDOUT, ">delete_logsdb2_pl.log" ) or die "Impossible d'ouvrir delete_logsdb2_pl.log : $!\n";
 
print "\n************ $date: DEBUT DU SCRIPT $0  ************\n\n";
 
my $query_full = "D:/sqllib/bin/db2adutl query full db $ARGV[0]";
 
print "$query_full\n";
 
system ("$query_full") or die "\n************ $date: FIN ANORMALE DE LA COMMANDE $query_full : $!\n\n";
 
open ( OUT, "<delete_logsdb2_pl.log" ) or die "\n************ $date: FIN ANORMALE DU SCRIPT $0: $!\n\n";
 
my $contenu = do {local $/; <OUT> };
 
close ( OUT );
 
my @matches = $contenu =~ m/S(\d{7})\.LOG/g;
 
my $log_util = min (@matches) - 1;
 
my $result = sprintf "S%07i.LOG\n", $log_util;
 
my $delete_logs = "D:/sqllib/bin/db2adutl delete logs db $ARGV[0] between S0000000.LOG and ".$result." without prompting";
 
print "$delete_logs\n";
 
system ("$delete_logs") or die "\n************ $date: FIN ANORMALE DE LA COMMANDE $delete_logs : $!\n\n";
 
print "\n************ $date: FIN NORMALE DU SCRIPT $0  ************\n\n";
Lors de l'exécution, le message est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
C:\bat>delete_logsdb2.pl DBRD5PMD
 
************ Thu Sep  6 09:34:59 2007: FIN ANORMALE DE LA COMMANDE D:/sqllib/bin/db2adutl query full db DBRD5PMD : Bad file descriptor
Voyez-vous une explication à ce problème ?

Merci d'avance.
Cordialement,
Bruno