Necesito crear un archivo Zip después de filtrar la lista de archivos que quiero incluir. Preferiblemente, me gustaría que el módulo funcione tanto en Windows como en Linux.¿Cómo puedo crear un archivo Zip en Perl?
Como necesito filtrar la lista de archivos, realmente no quiero usar un programa externo. Prefiero no introducir dependencias externas tampoco, así que puedo compilar el script en un solo ejecutable en Windows (usando ActiveState PDK).
lo que ya probé
Hasta ahora he utilizado Archive::Zip encontrado en CPAN pero tiene un fallo importante en la máquina de Windows que utilizan nombres de archivo no ASCII: los nombres de archivo se corrompe en el archivo, ya que Don no se traduce a unicode
Hay un bug report filed para eso, pero no se ha actualizado en más de 10 meses y en la documentación del módulo el desarrollador es bastante inútil (del tipo "reparar su computadora o deshacerse de Windows").
Actualización:
Gracias a las aclaraciones de Brian y Alan Hageo Alavi parece que el amor lo suficientemente está siendo puesto en Archive::Zip
para obtener estos insectos fuera pronto y, finalmente, tener un módulo de cremallera en pleno funcionamiento en Windows.
Zip es un formato muy antiguo y no estoy del todo seguro de que pueda manejar caracteres que no sean ANSI. Si el idioma al que se dirige utiliza, al menos parcialmente, el alfabeto latino (es decir, no chino), debe intentar convertir los nombres de los archivos en sus homólogos latinos estándar. –
En realidad, ha habido provisiones en la especificación para almacenar la versión utf8 del nombre del archivo. Puede leerlo en el Apéndice D de http://www.pkware.com/documents/casestudies/APPNOTE.TXT –
¿Ha actualizado todas las dependencias de Archive :: Zip? –