ExcelのワークシートをPerlで読み出してごにょごにょするプログラムを使っているだが、以前は98以前のバイナリを扱えるSpreadsheet::ParseExcelを使っていたが、さすがに古いので、同じ人がメインテナーをやっているSpreadsheet::XLSXを使っている。ところが、タイトルの通り、セルの値をValで取ってくると、フリガナがくっついてしまう(いつもではない、つくのとそうでないのとがある…)。ググったらズバリの記事を発見。
【Perl】Spreadsheet::XLSXでセルの値に勝手にフリガナが付く件について
foreach my $si ($mstr =~ /<si.*?>(.*?)<\/si/gsm) { + $si =~ s!<rPh[^>]*>.*?</rPh>!!gsm; my $str;
1行加えるだけ。とりあえず回避できた。