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