WWW::Mechanize や Web::Scraper を使って Shift-JIS のWebページをスクレイピングして CSV に保存しようとすると、「Wide character in print at ...」とエラーメッセージが出力されて文字化けするので、【Perl 文字化け解決】Wide character in print atといふエラーが原因だったー - Perl楽しいから好き を参考に、書込み先ファイルをオープンするときにエンコーディングに Shift-JIS を指定したら解決した。
open (my $fh, ">:encoding(shiftjis)", "foo.csv"); ... print $fh $line; ... close ($fh);
「decodeしていじってencode」という基本からすると間違っている気がするが、また今度調べる。