スクリプト改造工房 Part3

このエントリーをはてなブックマークに追加
11T女の竹田
前スレ42のスクリプトだけど、43さんのその一の方法でやってみたら
うまくいったよ。
変更点は、451行の
@plines = <PD>;を
$pline = <PD>; に。
454-458行の
foreach $reline (@plines) {
    ($a,$b,$c,$d,$e) = split(/\,/,$reline);
$poi = "$a"*10 + "$b"*50 + "$c"*30 - "$d"*20 - "$e"*30 ;
$pnin = $a+$b+$c+$d+$e ;
}
のところを、
($a,$b,$c,$d,$e) = split(/\,/,$pline);
に。
12T女の竹田:2001/05/03(木) 18:30 ID:???
↑ごめん。ちょっとまぎらわしかったかも。
下二行は変更なしだから、
($a,$b,$c,$d,$e) = split(/\,/,$pline);
$poi = "$a"*10 + "$b"*50 + "$c"*30 - "$d"*20 - "$e"*30 ;
$pnin = $a+$b+$c+$d+$e ;
に変更ってことね。

あと、463行の
print "<br>投票数 $pnin\n";
の後ろに
print "<br>内訳:とても良い $b 良い $c 普通 $a 良くない $d 最悪 $e\n";
を追加。
13T女の竹田:2001/05/03(木) 19:09 ID:???
1380行と1386行の、@plines = <FD>;も、同じように
$pline = <FD>;
に変更。1395行の
foreach $pline (@plines) {

1397行の
}
を削除。
それと、1396行の($a,$b,$c,$d,$e) = split(/\,/,$pline);の次に、
$a=$a+0;$b=$b+0;$c=$c+0;$d=$d+0;$e=$e+0;
を追加。
1404行のunshift(@new,$value);を削除。
1407行のprint FD @new;を、
print FD $value;
に変更。
14T女の竹田:2001/05/03(木) 19:15 ID:???
1398-1402行の、if ($FORM{'points'}=10) { $a++ ;}等は、=を==に変えて
if ($FORM{'points'}==10) { $a++ ;}
というふうに5行全部変えてね。

だいたいこれで全部だけど…
Netfirmsではなぜか環境変数の
$ENV{'REMOTE_HOST'}が空みたいだから、
スクリプトの中に
if ($host eq $addr) { $host = gethostbyaddr(pack('C4',split(/\./,$host)),2) || $addr; }
ってところが何か所かあるけど、ぜんぶ後ろに
$host or $host=$addr;
を付け加えて。このままだとちゃんと動かないよ。
15T女の竹田:2001/05/03(木) 19:43 ID:???
あ、あと一個。
378行の
chop($host);
を削除して。