OVH Cloud OVH Cloud

Bad File Descriptor

13 réponses
Avatar
Rocco
Bonjour , j'ai un souci avec ma fonction suivante :

sub doZip {
my ($fichier,$fichierreg, $nomZip) = @_ ;
open FICHIER, $fichier ;
my $ligne, my $longueur;
my $zip = Archive::Zip->new();

while (<FICHIER>) {
next if (($longueur=length($_)-2) <= 0);
$ligne = "$_";
my @lig = split /\|/,$ligne;
if ($lig[0]=~ m/^\+ .+$/ ) {
my $prog = substr($lig[0],2,length($lig[0])-2);
chomp $prog;
print "\"$prog\"";
warn "Error adding file $prog : $!\n" ;#if
($zip->addFile($prog) != AZ_OK);
}
}
unlink($nomZip);
$zip->addFile($fichier,"$install/$fichier") or warn "Error
adding file $fichier\n";
$zip->addFile($fichierreg,"$install/$fichierreg")or warn
"Error adding file $fichierreg\n";
if($zip->writeToFileNamed($nomZip) != AZ_OK){
die 'write error Zip';
}
}

Le but est de parcourir un fichier et de zipper tous les noms de
fichiers contenus a l'intérieur.
Le souci est que chaque fichier lu admet une Bad file descriptor
Que signifie cette erreur ?

Merci et bonnes fêtes de fin d'année.

3 réponses

1 2
Avatar
jl_morel
Dans l'article <43b68f62$0$7225$,
a dit...


Dans ce cas, je crois qu'il est préférable de mettre systématiquement un
close après chaque open, même si ça fait une ligne de plus (est-ce que ça
diminue la lisibilité ?).


Eh bien si tu vas au CeBIT chaque année, tu t'es certainement demandé
aussi : "Est-ce que prencre ce petit prospectus intéressant me chargea
beaucoup ?", et la réponse est évidemment "non". Moyennant quoi... tu
quittes le CeBIT à 15h30 alors qu'il y a encore tant de choses
passionnantes à voir, parce que tu n'en peux plus de porter tes N kilos
de prospectus ramassés à droite et à gauche :-D



Mais non car il y a très peu de descripteurs dans un script, surtout si on
réutilise les mêmes.

Ceci dit on peut vouloir vivre dangereusement, construire sa maison au pied
du Vésuve... etc, mais c'est pas mon truc.

(Au fait, "side effects", j'ai toujours traduit cela par "effets
secondaires - ce qu'ils sont en réalité - et n'ai jamais compris pourquo
Paris VI traduisait ça par "effet de bord"; à mon avis, parce qu'ils
maîtrisent l'anglais à peu près aussi bien que moi le russe :-( )



Effet de bord est un terme de physique, rien à voir avec une mauvaise
traduction de l'anglais. On peut quand même utiliser nos propres
expressions sans reprendre les expressions anglo-saxonnes.

Je n'aime pas "effets secondaires" pour "side effects". Je préfère "effets
de contexte" ou mieux, "effets collatéraux". En informatique, comme à la
guerre, les dégats collatéraux sont rarement secondaires.
(Et puis d'abord on dit pas de mal de Paris VI)

On peut aussi faire des traductions surréalistes. Dans la deuxième
édition de "Programmation en Perl", le traducteur, Jean Zundel, traduit les
termes "big endian" et "small endian" par "grand indien" et "petit indien":-)
Moi j'adore ce genre de traduction.

--
J-L.M.
http://www.bribes.org/perl


Avatar
FDA

http://www.bribes.org/perl

Gasp ! Une traduction complète en français de la doc perl ? Que
dirais-tu de l'envoyer à ActivePerl, qui nous donne si gentiment son
produit sans même qu'on s'enregistre, et qui serait sans doute ravi de
le distribuer en complément de son aide en anglais ? Depuis que la NAFTA
(ALENA?) est entrée en service, les traductions en anglais et espagnol
sont plus que bienvenues là-bas...

Et comme ils filent leur produit à l'oeil, ce serait un geste sympa. À
moins que tu n'aimes avoir du monde venant sur ton site, ce qui se
comprendrait très bien aussi

Je me demande si ce n'est pas toi dans ce forum qui m'avait conseillé
l'editeur SciTE. Je n'ai plus utilisé que cela depuis :-)
Avatar
Paul Gaborit
À (at) Fri, 06 Jan 2006 18:58:24 +0100,
FDA écrivait (wrote):
[...]
Gasp ! Une traduction complète en français de la doc perl ?


Y en a qui se réveille avec un peu de retard... ;-)

Que dirais-tu de l'envoyer à ActivePerl, qui nous donne si gentiment
son produit sans même qu'on s'enregistre, et qui serait sans doute
ravi de le distribuer en complément de son aide en anglais ? Depuis
que la NAFTA (ALENA?) est entrée en service, les traductions en
anglais et espagnol sont plus que bienvenues là-bas...


Ces traductions françaises (comme celles en italien et en lithuanien
d'ailleurs et contrairement à celles en espagnol... si elles
existent(?)) sont diffusées depuis peu sous la forme d'un module CPAN:

POD2::FR
POD2::IT
POD2::LT

Libre à ActiveState (qui distribute ActivePerl) ou à qui veut de les
récupérer et de les publier...

Ces traductions ne sont malheureusement ni complètes ni toutes à
jour... Mais libre à vous (ou à d'autres) d'y contribuer. Toutes les
bonnes volontés sont les bienvenues !

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>

1 2