Quantifier follows nothing in regex; marked って?
if(not $name =~ /${COOKIE_PREFIX}_(.+)/) {
このコードを書いているファイルに
use strict;
宣言をしたら、このコードの部分で
Variable "$COOKIE_PREFIX" is not imported at SeveralRoutine.pl line 173, line 855.
Global symbol "$COOKIE_PREFIX" requires explicit package name at SeveralRoutine.pl line 173, line 855.
Compilation failed in require at O:\public_html\besthotel\freeboard\cgi\listbbs.cgi line 8, line 855.
のようなエラーが出ました。
$COOKIE_PREFIXを宣言しているのはメインルーチンであるlistbbs.cgiで、このファイルがSeveralRoutine.plなので、
${COOKIE_PREFIX}
を
$main::{COOKIE_PREFIX}
と書き換えてみました。
すると
Quantifier follows nothing in regex; marked by <-- HERE in m/* <-- HERE main::COOKIE_PREFIX_(.+)/ at SeveralRoutine.pl line 173, line 855.
と、エラーの内容が変わりました。
Variable "なんたらかんたら" is not imported・・・
というエラーメッセージはこの他にも多数出ましたが、それらは
"なんたらかんたら"
の前に
main::
と付けたら直りました。メインルーチンの中で定義した変数を別のファイルで用いようとしたために起きたエラーです。
ところが件のコードは
$name
が
「$COOKIE_PREFIXにアンダーバー付きで添え字」
してある形式になっていなかったら・・・
という意味合いです。
メインルーチンで定義されている$COOKIE_PREFIXそのものをどうしようというコードではありません。
このエラーメッセージは何を言いたいのでしょう。そしてどう直せばこのエラーメッセージが出なくなるのでしょう?
お礼
ありがとうございます。 おかげさまでインストールできました。 またなにかあったらよろしくお願いします。