罪と罰++二律背反


*記述が間違っているのか・・・ [#k22abe7f]

-ページ: [[罪罰改造板2]]
-投稿者: [[ロンロン♪♪]]
-優先順位: 緊急
-状態: 完了
-カテゴリー: エラーが出ます
-投稿日: 2005-03-14 (月) 18:13:10
-バージョン: 

**内容 [#ka470645]
うちの罪罰では自分の国の首都でないと兵士を補給できず、今度は前線基地を作って、そこからでも兵士を補給できるようにスクリプトを改造したのですが、perlチェッカーをかけると何故か最終行の[EOF]というところにエラーが出ます。。これはどういうことなのでしょうか。。ご指導頂きたいです。お願いします(o*。_。)o
----
-制御構造のエラーではないかと推測しますが、エラーメッセージが表示されているのではないかと思いますがどうでしょうか? -- [[あくあ]] &new{2005-03-14 (月) 21:29:33};
-エラーメッセージっていうのは、そのコマンドを押した時でしょうか?perlチェッカーの時のことでしょうか?コマンドを押した時はサーバーエラー(500)が出て、perlでは 
 Scalar found where operator expected at ore_new/inc/ore_sub-place.cgi line  194, near "$log2"
 	(Missing semicolon on previous line?)
 syntax error at ore_new/inc/ore_sub-place.cgi line 194, near "$log2 "
 Missing right curly or square bracket at ore_new/inc/ore_sub-place.cgi line  281, at end of line
 syntax error at ore_new/inc/ore_sub-place.cgi line 281, at EOF
 ore_new/inc/ore_sub-place.cgi had compilation errors.

とでてます。。-- [[ロンロン♪♪]] &new{2005-03-14 (月) 21:36:33};
-194行の前後3行くらいはどうなってますか? -- [[あくあ]] &new{2005-03-14 (月) 21:44:01};
 		}elsif($cmd==3){
			$log .= "何人補充しますか??\n";
			$tm=30
			$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;  #ここが194行目
			$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
			$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
			$log2 .=qq|<select name="cmd" size="1">\n|;
			$log2 .=qq|<option value="0">やめる</option>\n|;
			$log2 .=qq|<option value="1">1000人補充する</option>\n| if(($max_sol-$sol_m)>999);
			$log2 .=qq|<option value="2">最大部隊数の半分まで補充する</option>\n|;
			$log2 .=qq|<option value="3">最大部隊数補充する</option>\n|;
			$log2 .=qq|</select><br>\n|;
			$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;

となっています。
-- [[ロンロン♪♪]] &new{2005-03-14 (月) 22:15:20};
-194行目は内政あたりからコピーしてきて、中身を変えただけだから、間違っていないはずなんですけど、何度やり直してもエラーになってしまします。。 -- [[ロンロン♪♪]] &new{2005-03-14 (月) 22:20:23};
-$tm=30の後ろに「;」がありません。(Missing semicolon on previous line?)前の行のセミコロンが違うよーって感じかも -- [[あくあ]] &new{2005-03-14 (月) 22:59:24};
-すばらしいご指摘ありがとうございます!英語のテストをフィーリングで解いてたツケがこんなとこでまわってきちゃいました(笑)えーっと、訂正してチェックかけたら、
 Missing right curly or square bracket at ore_new/inc/ore_sub-place.cgi line 282, at end of line
 syntax error at ore_new/inc/ore_sub-place.cgi line 282, at EOF
 ore_new/inc/ore_sub-place.cgi had compilation errors.

となりました。やっぱり最後の行もおかしいのかな・・・
-- [[ロンロン♪♪]] &new{2005-03-14 (月) 23:18:37};
-上のメッセージでも2つのエラーが出てます。こっちの方が広範囲なので厄介かも知れませんが、とりあえず282行周辺を見せてもらえますか? -- [[あくあ]] &new{2005-03-14 (月) 23:26:43};
-えーっと 
	}elsif($tm==30){
			if($cmd<=0){
				$log .= "補充を中止します<br>\n";
			}elsif($cmd==1){
					if($kiti_h[$camp]<1000){
					$log .= "基地の予備兵が1000人もいません。徴兵を行ってください。<br>\n";
					}else{
					$sol_m +=1000;
					$kiti_h[$camp] -=1000;
					$log .= "部隊に1000人補充しました。<br>\n";
					}
			}elsif($cmd==2){
					$v=int($max_sol*0.5);
					$s=$sol_m;
					$kiti_h[$camp] +=$sol_m;
					$sol_m=0;
					if($cs1<$v){
						$log .= "基地の予備兵が$v人もいません。徴兵を行ってください。<br>\n";
						$sol_m=$s;
						$kiti_h[$camp] -=$sol_m;
					}else{
						$sol_m =$v;
						$kiti_h[$camp] -=$v;
					}
						$log .= "最大部隊数の半分補充しました。<br>\n";
			}elsif($cmd==3){
					$v=$max_sol;
					$kiti_h[$camp] +=$sol_m;
					$s=$sol_m;
					$sol_m=0;
					if($cs1<$v){
						$log .= "基地の予備兵が$v人もいません。徴兵を行ってください。<br>\n";
						$sol_m=$s;
						$kiti_h[$camp] -=$sol_m;
					}else{
						$sol_m =$v;
						$kiti_h[$camp] -=$v;
						$log .= "最大部隊数分補充しました。<br>\n";
					}
			}
	}
	&dat_write;
 }
 
 1; ###ここで282行目
-- [[ロンロン♪♪]] &new{2005-03-14 (月) 23:40:51};
-こんな感じです。282行目以降はありません。 -- [[ロンロン♪♪]] &new{2005-03-14 (月) 23:44:59};
-ちゃんと動作するかは別として、「1;」の前に「}」を追加した場合、エラーは出ますか? -- [[あくあ]] &new{2005-03-15 (火) 00:06:31};
-でません!っていうか、正常に動きました!すみません。単純な理由だったんですね。。本当にありがとうございました! -- [[ロンロン♪♪]] &new{2005-03-15 (火) 00:23:12};
-ついでにもう1ついいでしょうか?ステ画面にマップを常に表示させようとしてore_sub-base-p1_pc.cgiをいじろうとすると、さっきのようにでたので、「1;」の前に「}」を入れたところ、エラーは消えたのですが、おもうように表示されません。。 -- [[ロンロン♪♪]] &new{2005-03-15 (火) 00:56:43};
-勘違いでした!「img src=」とするところ、「a href=」になってました。。。(笑)すみませんでした! -- [[ロンロン♪♪]] &new{2005-03-15 (火) 01:09:16};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS