PerlIO Layer で複数のオプションを使う
PerlIO::gzip を使うと、
open my $fh, '<:gzip', $filename or die;
で、gzip 圧縮されたファイルを直接扱える。これと
open my $fh, '<:encoding(utf-8)', $filename or die;
なエンコーディング指定を同時に指定するにはどうすれば良いかと聞かれたんだけども、そんなことをしたくなったことがなかった知らねー。
てことで、ちょっと試してみると。
open my $fh, '<:gzip:encoding(utf-8)', $filename or die;
な感じでいいっぽい。:gzipと:encoding(utf-8)の間にはスペースが入っても良いみたいだけど。
で、ついでにPerlIO::viaを使えば PerlIO Layer に直接フィルタモジュールを挟みこめるということを、初めて知った。そして、PerlIO::via::StripHTMLなんてのもあるのか。ちょっと使い道ありそうだ。