WinXPでActivePerl5.8.8を使っています。
日本語の「ソ」などが含まれている文字列を出力したいと思っているんですが、
エラーが出て表示できません。
quotemetaという関数を使ってみてもうまくいきませんでした。
回避方法をご存知の方いらっしゃいませんか?
答え:
ソースコードの文字エンコーディングがShift-Jisで作成されている為です。
文字コードの第2バイトが'\'になる「表」や「ソ」などをソースコードの中で使うと問題となります。\nのようなエスケープ文字と認識されるのですね。
この場合は、ソースコードの先頭でソースコードの文字コードを指定して見てください。
use encoding 'shift-jis';
この行を先頭に書くことで対応可能と思われます。
補足の質問:
たしかにエラーは出なくなりましたが、処理がうまくいきませんでした。
保存する時に文字コードをutf8にしたらうまく動きましたので、そちらでやることにしました。
ご回答していただきありがとうございました。この質問・回答は役に立ちましたか?
ウェブサイトのユーザーによる情報ポスト、JPQA.comのない保証の正しさ.