potize s Archive::Zip

Honza Pazdziora adelton na informatics.muni.cz
Pátek Březen 1 10:22:50 MET 2002


On Thu, Feb 28, 2002 at 11:37:31PM +0100, Michal Jurosz wrote:
> 
>    Nasledujici kod rozbali soubory z adresare $zip_path do adresare 
> $extr_path, pokud odkomentujete tri zakomentovane radky, pak takto 
> upraveny kod rozbali soubory z adresare $zip_path do adresare './'.
> Pouzivam ActivePerl pod w2k. Vi nekdo proc se to tak chova? Jak mohou 
> souviset promenne $aa a $bb s ostatnim kusem programu, ve kterem nejsou 
> jiz dale pouzity?
> 
> use warnings;
> use strict;
> 
> use locale;
> 
> use Archive::Zip::Tree;
> use Archive::Zip qw(:ERROR_CODES);
> 
> my $zip_path = './fnav-zip/';
> my $extr_path = './fnav-extr/';
> 
> foreach my $file (glob($zip_path."*.zip")) {
>    my $zip = Archive::Zip->new();
> 
> #  my $bb = $zip_path;
> #  my $aa = $zip_path;
> #  $aa =~ /\Q$bb\E/;
> 
>    $zip->read($file);
>    $zip->extractTree('', "$extr_path");
> }

Je to fakt divne, chova se mi to na 5.004_04 presne tak, jak
popisujete. V tom extractTree je substituce

	$fileName =~ s{$root}{$dest};

ktere se predava spravne ten $root jako '', ale on nenahradi
a nenahradi. Pokud se Vam to podobne chova i na poslednich verzich
(5.6.1), tak je to asi na perlbug. Nicmene mozna byste mohl zkusit to
jeste vic odizolovat a vyrobit nejakou svou funkci, ktera by delala
podobou substituci jako je v tom extractTree, aby bylo to hlaseni te
chyby izolovanejsi.

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
      ... all of these signs saying sorry but we're closed ...
------------------------------------------------------------------------


Další informace o konferenci Perl