▼スレッド
│
└◇872:紹介状一期一会について [さると] 01/09 09:24
└◇873:Re:紹介状一期一会について [moon] 01/09 19:06
└◇874:Re[2]:紹介状一期一会について [moon] 01/09 20:11
└◇875:Re[3]:紹介状一期一会について [moon] 01/09 20:14
└◇876:Re[4]:紹介状一期一会について [さると] 01/10 04:47
└◇877:Re[5]:紹介状一期一会について [moon] 01/10 10:28
└◇878:Re[6]:紹介状一期一会について [さると] 01/12 16:35<-last
初めましてスレッド一覧
過去ログを漁っていて、表題の紹介状の改造を取り入れようとしてみたのですが、エラーが出て上手くいきませんでした
記事が分かれていたので、まとめると以下の部分だけですよね?
contact_checkの、
foreach (@items) {
$right = 1 if (split(/△/))[1] =~ /$vflag/;
}
を、
if(@items){
foreach(0..$#items){
if(index(split(/△/,$items[$_]))[1],$vflag)>=0){
$right = 1;
splice(@items,$_,1); # 紹介状を削除
&joinitem('i'); # アイテム結合
&userout; # ユーザデータ書き込み
last; # ループ終了
}
}
}
sub contact_actionの、
if ($psp =~ /(V[a-z])/) {
$vflag = $1;
&splititem('i');
foreach (@items) {
$right = 1 if (split(/△/))[1] =~ /$vflag/;
}
if (!$right) {
&error("$pnmに会うためにはあるアイテムが必要です");
}
}
を全て削除
で、パールチェックをしたところ
Unrecognized character \201 at sos2.cgi line 834.
と出てしまいました
訳すとsos2.cgi 834行に未承認の文字¥201.
改造箇所にこんな文字列はないですし、他の改造との相性の問題なのでしょうか?
よろしければ、対処法を教えてください
> Unrecognized character \201 at sos2.cgi line 834.スレッド一覧
>
> と出てしまいました
自分は掲示板上で見やすくするために行頭に全角空白を多用しています。
このエラーは全角空白が入っているとき(など)のものなので行頭の全角空白をタブなりスペースなりに置換すれば大丈夫だと思います。
> > Unrecognized character \201 at sos2.cgi line 834.スレッド一覧
> >
> > と出てしまいました
>
> 自分は掲示板上で見やすくするために行頭に全角空白を多用しています。
> このエラーは全角空白が入っているとき(など)のものなので行頭の全角空白をタブなりスペースなりに置換すれば大丈夫だと思います。
ついでに、sos2.cgiのバージョンが1.8以上なら気休め程度の不正対策としてsub contact_actionの先頭に、
&error("$pnmに会うためにはあるアイテムが必要です") if(!$post);
があったほうが良いかもしれません。
> sub contact_actionの先頭に、スレッド一覧
これは「@prclines = &get_partner("$Fm{'pd'}");」の下が適切でした。
回答有難うございましたスレッド一覧
早速行頭を修正したみたのですが、今度は違うところでエラーが発生してしまいました
Unquoted string "i" may clash with future reserved word at sos2.cgi line 1011.
Useless use of a variable in void context at sos2.cgi line 1999.
Useless use of a variable in void context at sos2.cgi line 2003.
Useless use of bitwise and in void context at sos2.cgi line 2047.
Unquoted string "i" may clash with future reserved word at sos2.cgi line 2822.
Missing right bracket at sos2.cgi line 2823, at end of line
syntax error at sos2.cgi line 2823, at EOF
sos2.cgi had compilation errors.
EOFというのが何なのかよくわかりませんが、訳しても意味不明な文章で要領を得ません
重ね重ねの質問で恐縮なのですが、修正方法をお願い致します
> Unquoted string "i" may clash with future reserved word at sos2.cgi line 1011.スレッド一覧
> Unquoted string "i" may clash with future reserved word at sos2.cgi line 2822.
1011行目と2822行目のiがおかしいです。
変数なら$が付いていない、文字列なら''や""などで囲っていないなど。
> Useless use of a variable in void context at sos2.cgi line 1999.
> Useless use of a variable in void context at sos2.cgi line 2003.
1999行目と2003行目で変数を無駄に記述している。
たとえば、$data;とだけ記述している場合は代入をしていないので無駄と判断されます。
> Useless use of bitwise and in void context at sos2.cgi line 2047.
上と同様に無駄なAND演算をしています。
たとえば、$a & $b;とだけ記述しているなど。
> Missing right bracket at sos2.cgi line 2823, at end of line
どこかで右括弧が足りません。
返事が遅くなりまして申し訳ございませんスレッド一覧
修正はまだ済んでいない部分がありますが、一応無事に動くようになりました
有難うございました