ある人に向けて2000年9月に書いたメール内容 1.ActivePerlをインストールする。 自分が使ったのはBuild 522です。 AcrivePerl(Windows版Perlの一種)については、 紹介ホームページがいろいろあります。 http://www.activestate.com/ http://member.nifty.ne.jp/hippo2000/ などなど。 2.Archive::Zip moduleのインストール Archive::Zip moduleをインターネットから入手します。 たとえば http://theoryx5.uwinnipeg.ca/CPAN/cpan-search.html で zip を検索したら見付かりました。 http://theoryx5.uwinnipeg.ca/mod_perl/cpan-search?new=Search;join=and;arrange=file;download=auto;stem=no;case=clike;site=ftp.funet.fi;age=;filetype=%20module%20name&modinfo=356 から Downlaod をクリックすれば 入手できます。ブラウザとしてIE5を使う場合は、 右クリックして"対象をファイルに保存"を選んだ方がいいと 思います。 で、インストール方法ですが、単純にファイルをコピーする だけでO.K.でした。tar.gzファイルを解凍してできた Archive-Zip-0.10/lib/Archive/ ディレクトリ内のファイル(とディレクトリ)全部を Perlをインストールしたディレクトリ内にある c:/Perl/site/lib/Archive/ ディレクトリ内にコピーするだけで良かったです。 3.サンプルスクリプトを修正したPerl scriptを作る。 <ここから my_unzip.pl> #!/bin/perl -w # Extracts all files changing file names # usage: # perl extract.pl zipfile.zip # use strict; use Archive::Zip qw(:ERROR_CODES); if (@ARGV < 1) { die <new(); my $zipName = shift(@ARGV); my $status = $zip->read( $zipName ); die "Read of $zipName failed\n" if $status != AZ_OK; my $filenumber = 1; foreach my $member ($zip->members()) { my $memberName = $member->fileName(); print " $filenumber Extracting $memberName\n"; $status = $zip->extractMember($memberName, $filenumber); die "Extracting $memberName from $zipName failed\n" if $status != AZ_OK; $filenumber++; } <ここまで my_unzip.pl> 4.使い方 DOS窓から perl my_unzip.pl mbabyvox101.zip >out とすると、 1 2 out という3つのファイルが出来ます。 outというファイルに本当のファイル名が書いてあります。 outをハングルが読めるエディタで開くと、 1 というファイルがmp3ファイルなので、 これをrenameします(たとえばmvavyvox101.mp3に)。