昔の掲示板を設置するMojolicousからCGIを呼ぶ他者のPerlを書き替える他者のPerlを書き替える~2~全ページに告知Windowsで名前がUnicodeのファイルを開く方法2016-03-27背景ブラウザで表示しているサイトのURLをドラッグ&ドロップでデスクトップに保存するとファイル名は「サイトのタイトル+.URL」になります。このURLファイルをPerlのスクリプトから開いています。タイトルに使っている文字が文字コードCP932(シフトJISの親戚)にないケースでは、Windows下のPerlのopenで開くことができません。郵便局のマーク「〠」はCP932になくファイル名に使うとopenでは無理。先駆者を探す私が見るトラブルは、大抵、先駆者の皆さんがブログに解決策を上げてくれるので探します。今回のケースを見つけられませんでした。検索していく中で、記事1件で書き逃げしたサイト(笑)が気になります。hizumi他所の言語へ行っちゃった人は放っておき、残ってるサンプルソースが興味深い。同じ事をどうするかコードを書いてみました。ファイルを変数に読まずPerlのファイルハンドルに割り当てるように改善しました。":utf8";」が適用されずbinmodeでの文字コード指定が必要です。┗sjis.txt実行結果コマンドプロンプトで実行する都合上、CP932にない文字を表示しようとしてエラーになっています。〠の代わりに文字コードの16進形式\x{3020}が表示されています。件のサイトは、cp932(シフトJIS)のファイル名を扱えれば良いので簡単だと気付きました。変更のポイントは次の通り。mojolicious。