Windows2000で Perl 5.8.3 の encoding を使い ローマ数字を指定すると

『Unrecognized character ¥xA6 at ****』というエラーが表示されます。
解決方法を教えてください。
サンプルスクリプトは、下記のとおりです。
=======================================
use strict;
use encoding ”shiftjis”;

my( $str ) = ’System Ⅱの表示’;

print ”$str¥n”;
$str =~ s/system/システム/ig;
print ”$str¥n”;

exit 0;
=======================================

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/07/20 17:14:11
  • 終了:--

回答(2件)

id:aki73ix No.1

aki73ix回答回数5224ベストアンサー獲得回数272004/07/20 17:19:34

ポイント5pt

http://www.hatena.ne.jp/1089817764

ポケットはてなで自分のIDでログインして質問に回答する方法が分かりません。携帯のメアドは登録済みで携帯に送られてきたメールも返信しましたがゲストのままです。登録.. - 人力検索はてな

my( $str ) = ’System Ⅱの表示’;

my( $str ) = ’System Ⅱの表¥示’;

にしてみてください(¥は半角)

これは表の文字コードに「¥」が含まれるためです。

他にも

― ソ Ы Ⅸ 噂 浬 欺 圭 構 蚕 十 申 曾 箪 貼 能 表 暴 予 禄 兔 喀 媾 彌 拿 杤 歃 濬 畚 秉 綵 臀 藹 觸 軆 鐔 饅 鷭 祥 薌 絁 霏 菑 鞋

の文字が含まれると同じようなエラーが出るので

これらの文字の後は必ず”¥”を入れます

id:tobehen

ごめんなさい。¥ の問題ではありません。

ローマ数字を除くとエラーは出力されません。

また、サンプルプログラムの”(ダブルクオート),’(シングルクオート),¥(円マーク)は、2バイト文字になっているようです。

2004/07/20 17:28:18
id:JULY No.2

JULY回答回数966ベストアンサー獲得回数2472004/07/20 17:22:33

ポイント55pt

http://perl.active-venture.com/pod/perljp.html

Perl 5.8 Documentation - perljp - 日本語 Perl ガイド

ローマ数字は Windows の拡張(実際に、同じ Shift-JIS でも MacOS では文字化けする)

なので、encoding の指定を cp932 にしてみては?

id:tobehen

cp932でうまく解決できました。

ありがとうございます。

2004/07/20 17:34:26

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません