Archive::Zipでミスった件

Archive::Zipでfileを圧縮したら、最初ミスってファイルのパスのまま圧縮されて解凍したときびびった件。

use Archive::Zip;

my $zip   = Archive::Zip->new();

$zip->addFile('/home/wajiho/test1.csv');
$zip->addFile('/home/wajiho/test2.csv');
$zip->addFile('/home/wajiho/test3.csv');

$zip->writeToFileNamed('/home/wajiho/sample.zip');

sample.zip解凍したら、

test1.csv
test2.csv
test3.csv

を期待していたのに、

/home/
    wajiho/
        test1.csv
        test2.csv
        test3.csv

だった。。

期待通りにするには

$zip->addFile('/home/wajiho/test1.csv','test1.csv');
$zip->addFile('/home/wajiho/test2.csv','test2.csv');
$zip->addFile('/home/wajiho/test3.csv','test3.csv');

とやるらしい。

とりあえず出来た。