Bonjour à tous, ca fait un bout de temps que je ne suis pas venu![]()
J'ai un petit problème de broken pipe, lors de lecture de fichiers zippés. Le broken pipe se produit lorsque je fais un close du descriptor avant d'avoir atteint la fin du fichier. Y a-t-il un moyen pour éviter ce désagrément ?
ex:
version de Perl utilisée: v5.6.1 sous Linux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 use strict; use warnings; my $file = '/home/user1/file.gz'; open(my $input, "zcat -f $file |") or die("impossible d'ouvrir $file en lecture\n"); while (<$input>) { if ( m/^TOTO$/ ) { print("TOTO trouvé !\n"); last; } } close($input); # génère un broken pipe si toto a été trouvé, autrement dit si je n'ai pas lu l'intégralité du flux
quelqu'un saurait-il comment éviter ce petit désagrément (qui vient pourir les logs bien évidemment, lorsqu'on ouvre 2000 fichiers simultanément, et qu'on a 2000 broken pipe, bien le bonjour pour lire les traces entre 2) ?
Merci d'avance !
Partager