je le code suivant dans un script cgi qui regroupe seulement les fichiers xml dans un zip pour le téléchargement:fichiers correspondant à Perl glob sur windows vs linux
my $obj = Archive::Zip->new();
foreach my $xml_file (glob(File::Spec->catfile($in_path,"*.xml")))
{
$obj->addFile($xml_file);
}
$obj->writeToFileNamed($zipfile_name);
Cela fonctionne très bien sur les tests unitaires et quand je le lance sous Linux, mais lorsqu'il est installé sur windows, je reçois:
Can't call method "desiredCompressionLevel" on an undefined value at /usr/share/perl5/Archive/Zip/Archive.pm line 249.
dans les deux cas, il fonctionne bien sur Linux et sous test unitaire, mais échoue lorsqu'il est installé sur windows (il y a des fichiers XML dans le répertoire qui devrait être ramassé...).
Y a-t-il un espace dans le chemin Windows? – choroba
@ikegami, vous avez raison. J'ai changé deux choses à la fois quand j'ai fait ce test. Le si défini ne fait pas de différence –