Bonjour,

j'ai le soucis suivant :

Je dois lire des archives zip à un membre (un très grand nombre, sur un serveur windows), rechercher dans ce membre un certain nombre d'information, en déterminer, entre autre, un chemin de stockage, puis les transférer par ftp sur une machine MVS.

Vu le volume (5 millions de fichiers) j'ai pensé, peut être à tort, que je devais demander à mon script de rattacher chaque membre étudié à un file handle pour ensuite faire mon transfert.
A l'exécution j'ai le message suivant :
Can't locate object method "extractToFileHandle" via package "Archive::Zip::Archive"
Pour info, je ne suis pas autorisé à installer de modules via PPM...par contre je peux le faire "à la main"...cherchez l'erreur ...et c'est ce que j'ai fait pour ce module.

Voici un exemple de mon code. J'ai conservé l'essentiel de ce qui concerne mon problème.
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
#! Perl
use warnings;
use strict;
use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
 
my $FicZip = "H:/HISTORIQUE BULL/ce/ij/gestion/contrat/335/0/0/0/0/3350000091.txt.zip";
my $FicAlire = "3350000091.txt";
 
my $somezip = Archive::Zip->new();
 
unless ( $somezip->read( "$FicZip" ) == AZ_OK ) {
    die "1 - Erreur de lecture de <$FicZip> : $!\n";
}
 
my $contenu = $somezip->contents( "$FicAlire" );
 
print $contenu,"\n";
##### Jusque ici ca roule ####
 
open(FO,">c:/temp/tempo")
    or die "2 - Erreur ouverture de FO\n";
 
$somezip->extractToFileHandle("FO")
    or die "3 - Impossible attacher le membre a FO \n"; ### ligne qui ne declenche l'anomalie
Merci de votre aide et vos avis éclairés