WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:perlについて

0:[投稿] saori [2002/07/12 22:42 ][環境:WIN+IE WIN系+Perl]

こんにちは、また教えてください。
どうしてもエラーの原因が分かりません。
こんなメッセージがでました。お願いします。
Missing right curly or square bracket at unmeisu.cgi line 106, at end of line
syntax error at unmeisu.cgi line 106, at EOF
Execution of unmeisu.cgi aborted due to compilation errors.

------------------------------
#!/usr/bin/perl

print "Content-type: text/html; charset=shift_jis\n\n";
print "<html><head><title>運命数占い</title></head>\n";
print "<body bgcolor=#000000 text=#ffffff link=#ffffff alink=#ffffff vlink=#ffffff>\n";
print "<div align=center><font color=gold>*-運命数占い-*</font></div><hr>";


$msg[1]="あなたの運命数は1です。万物の基数であり、とても恵まれた数です。無限の可\能\性を秘めており、名声と富を掴むタイプです。行動力があり、意思が強くリーダーになる数です。";
$msg[2]="あなたの運命数は2です。創造力豊かなタイプで、直感が鋭く、心理学者や作家、カウンセラーなどに向いています。普通の人よりも深刻に考えてしまう傾向にあるので、物事を悲観的に考えてしまうことも多いようです。";
$msg[3]="あなたの運命数は3です。強運の持ち主で、目的や願望がかない、大志大業を遂げます。心暖かく寛大で、どんな場所でも人に愛される社交的な性格です。一匹狼より組織の中でうまく出世するタイプです。";
$msg[4]="あなたの運命数は4です。神経繊細で、相手が何を考えているかを察知するカンが優れています。また、堅実で人から信頼されるタイプ。友人を多くつくるより、ほんとうに力になる友人を得ることで協力者に恵まれます。";
$msg[5]="あなたの運命数は5です。仕事、恋愛においても幸運ですが、特に富貴の面で恵まれた数です。自己顕示欲が強く、なによりも個人の自由を大切にするタイプです。また、周りを陽気にさせる才\能\をもってます。";
$msg[6]="あなたの運命数は6です。人付き合いを大切にし、周りから強い信頼感を持たれるタイプです。金儲けよりも、多くの人に喜ばれていると感じる仕事に向きます。また、健康や愛情、家庭に恵まれます。";
$msg[7]="あなたの運命数は7です。知的で思慮深く、細かな分析をすることが得意です。孤独を好み、人の多い所を嫌うタイプです。また責任感が強く、的確なアドバイスをする\能\力があり、周囲を穏やかにすることができます。";
$msg[8]="あなたの運命数は8です。個性が強く堅い意志を持ち、組織力、支配力、権力を示す数です。平穏なことを好まないので、波瀾万丈な人生を歩みやすいタイプです。経済感覚も優れ、ギャンブルや投機にも才\能\があります。";
$msg[9]="あなたの運命数は9です。完成をあらわす数で、哲学的な才\能\に恵まれています。また芸術や美しいものを愛し、理想主義的です。強そうに見えても内面はデリケートで、本当の自分を見せないようなところがあります。";
$msg[11]= "あなたの運命数は11です。進歩的で革新をあらわす数です。洞察力に優れ、頭の切れる学者、研究者のような仕事に向いています。常に刺激を求め、あらゆるものに対して好奇心の強いタイプです。";
$msg[22]= "あなたの運命数は22です。最高の吉運数です。外観は品の良さを感じさせます。夢や願望を早いうちに実現させていく幸運の持ち主です。芸術関係では、趣味で始めたことが認められて有名になることもあります。";


#####入力されたデータを取得する####

$buffer = $ENV{"QUERY_STRING"};
@buf = split( /&/ , $buffer );

foreach $data ( @buf ){
( $name , $value ) = split( /=/ , $data );
$FORM{$name} = $value;
@list = values %FORM;
};

######入力されたかチェック#######
if(($list[0] eq '')||($list[1] eq '')||($list[2] eq '')){
if($list[1] eq ''){print "年";}
if($list[2] eq ''){print "月";}
if($list[0] eq ''){print "日";}
print "が入力されていません。<br>\n";
}
else{

######数字かチェック######
#フォームから取得した数字を文字列として結合する
$data = $list[0].$list[1].$list[2];

#入力されたのが数字かどうかチェック
if($data =~ /[^0-9]/){print "半角数字以外の文字が入力されています。もう一度入力してください。<br>\n";}
else{

#####入力された年が正しい範囲かチェック#####
if($list[1] <1900 || $list[1]>2050){print "入力された年が正しくありません。<br>\n"}
else{$flg_yy=1;}

####2月の場合#####
if($list[2] == 2){

#4で割り切れる年はうるう年
#100で割り切れる年はうるう年でない
#しかし100で割り切れてかつ400で割り切れる年はうるう年
   
           #うるう年の場合
           if(($list[1] % 4) == 0 and ($list[1] % 100) != 0 or ($list[1] % 400) == 0) {
                if($list[0] > 29){print "うるう年なので2月は29日までです。<br>\n";}
                else{$flg=1;}}
           #ふつうの年
            else{if($list[0] > 28){print "2月は28日までです。<br>\n";}
                 else{$flg=1;}}
            }
#######30日までの月#######
elsif($list[2] > 12){print "12月より多い月は間違いです。";}
elsif(($list[2] == 4)||($list[2] == 6)||($list[2] == 9)||($list[2] == 11)){
           if($list[0] > 30){print "4・6・9・11月は30日までです<br>\n";}
           else{ $flg=1;}}

else{if($list[0] >31){ print "入力された日が、31日より多いです<br>\n";}
    else{$flg=1;}}

#####運命数の計算####
if(($flg_yy == 1) || ($flg == 1)){

$T = 0;

#数字を一文字ずつに切り分けて足し算する
for($i=0;$i<length($data);$i++){
$T=$T+substr($data,$i,1);
}

#運命数によってメッセージを決定する
if($T==11){$T=$T;}
elsif($T==22){$T=$T;}

#足し算した結果が2桁なら、9引く
else{while($T>=10){$T=$T-9;}

}

print "$msg[$T]\n";
}#メッセージの本体プログラムここまで

#####ここから下が共通の表示
print "<br><img src=b_ball3.gif><br>\n";
print "<a href=howto.html>運命数とは?</a><br>\n";
print "<a href=index.html>もう一回占う</a><br>\n";
print "<a href=../menu.html>おみくじ一覧</a><br>\n";
print "<a href=../i.html>TOP</a>\n";
print "</body></html>\n";
exit


1:[質問] saori [2002/07/12 22:59 ]

こっち↓が正しいです。
78行目 #####運命数の計算####
79行目 if(($flg_yy == 1) && ($flg == 1)){


2:[回答] しなのむし [2002/07/13 00:10 ]

ぱっと見ですが
{ } の対応がおかしいようです。


3:[完了] saori [2002/07/13 12:31 ]

ありがとうございます。
教えていただいたおかげでエラーメッセージの意味がやっと分かりました。。
}が2個足りませんでした。

フラグの立て方とか変なのでもう一回全部組みなおして見ることにしました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World