このperlのおかしい所を教えて下さい
下記のプログラムはname11という変数名の文字列の平仮名を指定の数字に変更し、1文字づつ変数に当てはめ、1桁になるまで分解して足していくというプログラムを書きたいのですが、エラーばかりです。
初心者なのでネットの情報を見ながらの作成です。
ご教示よろしくお願いします。
while(($name11)=each %in){
$name11=~s/"ぁ"/6/g;
$name11=~s/"あ"/6/g;
$name11=~s/"ぃ"/9/g;
$name11=~s/"い"/9/g;
$name11=~s/"ぅ"/1/g;
$name11=~s/"う"/1/g;
$name11=~s/"ぇ"/11/;
$name11=~s/"え"/11/g;
$name11=~s/"ぉ"/3/g;
$name11=~s/"お"/3/g;
$name11=~s/"か"/6/g;
$name11=~s/"が"/6/g;
$name11=~s/"き"/9/g;
$name11=~s/"ぎ"/9/g;
$name11=~s/"く"/1/g;
$name11=~s/"ぐ"/1/g;
$name11=~s/"け"/11/g;
$name11=~s/"げ"/11/g;
$name11=~s/"こ"/3/g;
$name11=~s/"ご"/3/g;
$name11=~s/"さ"/6/g;
$name11=~s/"ざ"/6/g;
$name11=~s/"し"/9/g;
$name11=~s/"じ"/9/g;
$name11=~s/"す"/1/g;
$name11=~s/"ず"/1/g;
$name11=~s/"せ"/11/g;
$name11=~s/"ぜ"/11/g;
$name11=~s/"そ"/3/g;
$name11=~s/"ぞ"/3/g;
$name11=~s/"た"/6/g;
$name11=~s/"だ"/6/g;
$name11=~s/"ち"/9/g;
$name11=~s/"ぢ"/9/g;
$name11=~s/"っ"/1/g;
$name11=~s/"つ"/1/g;
$name11=~s/"づ"/1/g;
$name11=~s/"て"/11/g;
$name11=~s/"で"/11/g;
$name11=~s/"と"/3/g;
$name11=~s/"ど"/3/g;
$name11=~s/"な"/6/g;
$name11=~s/"に"/9/g;
$name11=~s/"ぬ"/1/g;
$name11=~s/"ね"/11/;
$name11=~s/"の"/3/g;
$name11=~s/"は"/6/g;
$name11=~s/"ば"/6/g;
$name11=~s/"ぱ"/6/g;
$name11=~s/"ひ"/9/g;
$name11=~s/"び"/9/g;
$name11=~s/"ぴ"/9/g;
$name11=~s/"ふ"/1/g;
$name11=~s/"ぶ"/1/g;
$name11=~s/"ぷ"/1/g;
$name11=~s/"へ"/11/g;
$name11=~s/"べ"/11/g;
$name11=~s/"ぺ"/11/g;
$name11=~s/"ほ"/3/g;
$name11=~s/"ぼ"/3/g;
$name11=~s/"ぽ"/3/g;
$name11=~s/"ま"/6/g;
$name11=~s/"み"/9/g;
$name11=~s/"む"/1/g;
$name11=~s/"め"/11/g;
$name11=~s/"も"/3/g;
$name11=~s/"ゃ"/6/g;
$name11=~s/"や"/6/g;
$name11=~s/"ゅ"/1/g;
$name11=~s/"ゆ"/1/g;
$name11=~s/"ょ"/3/g;
$name11=~s/"よ"/3/g;
$name11=~s/"ら"/6/g;
$name11=~s/"り"/9/g;
$name11=~s/"る"/1/g;
$name11=~s/"れ"/11/g;
$name11=~s/"ろ"/3/g;
$name11=~s/"ゎ"/6/g;
$name11=~s/"わ"/6/g;
$name11=~s/"ゐ"/9/g;
$name11=~s/"ゑ"/11/g;
$name11=~s/"を"/3/g;
$name11=~s/"ん"/1/g;
}
substr($name11, 0, 1) = $a;
substr($name11, 1, 2) = $b;
substr($name11, 2, 3) = $c;
substr($name11, 3, 4) = $d;
substr($name11, 4, 5) = $e;
substr($name11, 5, 6) = $f;
substr($name11, 6, 7) = $g;
substr($name11, 7, 8) = $h;
substr($name11, 9, 10) = $i;
$x = $a + $b + $c + $d + $e + $f + $g + $h + $i;
while ($x > 10) {
substr($x, 0, 1) = $a;
substr($x, 1, 2) = $b;
substr($x, 2, 3) = $c;
substr($x, 3, 4) = $d;
substr($x, 4, 5) = $e;
substr($x, 5, 6) = $f;
substr($x, 6, 7) = $g;
substr($x, 7, 8) = $h;
substr($x, 9, 10) = $i;
$x = $a + $b + $c + $d + $e + $f + $g + $h + $i;
}
お礼
有難うございます。 投稿の際に指が痙攣して連続して2度ボタンを押してしまいました。 ですので同じ質問が2つ登録されました。(削除もできません。) それからなぜか\マークが自動的に多く付きました。 原因不明です。
補足
有難うございます。 投稿の際に指が痙攣して連続して2度ボタンを押してしまいました。 ですので同じ質問が2つ登録されました。(削除もできません。) それからなぜか\マークが自動的に多く付きました。 原因不明です。