締切り済みの質問

jcode'convertについて

以下のようなプログラムを書きました。
--------------------------------------------------------------
require 'jcode.pl';
@a=("ら","ー","め","ん");
@b=("半","ら","い","す");
foreach $a(@a){
&jcode'convert(*a, "sjis");
foreach $b(@b){
&jcode'convert(*b, "sjis");
print $a;
print $b;
$aaa = <STDIN>;
}
}
------------------------------------------------------------------
&jcode'convert(*a, "sjis");が無いときは'ら半','らら','らい',,'らす','ー半'…
といくのですが、&jcode'convert(*a, "sjis");をつけると'らす'でプログラムが終わってしまい、'ー半'…以降がプリント出来ません。
どうすればよいのでしょうか。またどうしてこうなるのでしょうか。

投稿日時 - 2000-05-24 13:04:30

QNo.3088

暇なときに回答ください

5人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

回答(1件中 1~1件目)

シンボルテーブルとかエイリアスとかが私はよくわからんのですが、
問題は *b というところにあります。これが $b ではなく @b のほうの
エイリアス(?)になっているようです。
つまり、$b ではなく、@b をいじってしまうため、
&jcode'convert(*b, "sjis");
の実行後、@b が空になってしまっています。
だから、一回目の「半」「ら」「い」「す」まではとりあえず処理するけど
次にまた @b のループをしようとすると、@bは空になってるために
ループを抜けてしまっているようです。
とりあえず、@b と $b を違う名前に変えれば解決するはずです。

投稿日時 - 2000-05-24 20:46:36

補足

出来るようになりました!
ありうがとうございました!

投稿日時 - 0000-00-00 00:00:00

あわせてチェックしたい
  • jcode.pmでconvertできない ...
  • Jcode.plを使用してコンバート ...
  • Jcode.pmでconvertできない ...
PR

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら