[Rio-pm] Unzip

Gabriel Andrade gabiruh em gmail.com
Terça Maio 29 08:00:56 PDT 2012


On May 29, 2012, at 8:19 AM, Aureliano Guedes wrote:

> O que tentei fazer foi isso:
> 
> http://pastebin.com/45tHKZur
> 
> Mas ainda não deu certo.


Aureliano,

o IO::Uncompress::Unzip faria o que você deseja se você tivesse lido a
documentação com cuidado.

O Archive::Zip também faz, mas você tá atirando no escuro misturando
os dois módulos, não leu as documentações e está usando indevidamente
ambos. Isso não pode dar certo.

Posso ter interpretado errado, mas parece que o loop está fazendo:

  unzip 'calendar.zip' => 'arquivo1';
  unzip 'calendar.zip' => 'arquivo2';
  unzip 'calendar.zip' => 'arquivo3';
  ...

Você acha que isso vai funcionar, descomprimindo o mesmo arquivo
várias vezes?

Se tivesse lido manual do Archive::Zip descobriria, assim como eu
descobri agora, que o que você deseja pode ser feito assim:
   
  perl -MArchive::Zip -E 'my $zip = Archive::Zip->new(q/zipfile.zip/); $zip->extractMember($_->{fileName}) for $zip->members'

Programar não é sair cegamente copiando e colando código e achar que
vai funcionar. A não ser, é claro, que você seja um programador
PHP. Aí pode desconsiderar o que eu disse. :)




Mais detalhes sobre a lista de discussão Rio-pm