バリューサーバーでメールフォームが動かなくなった件
2021年11月、バリューサーバーの大幅リニューアルが行われました。
サーバーシステムの増強と移行について|VALUE SERVER バリューサーバー
おかげで動きがサクサクになったのですが、トラブル発生!
今まで動いていたメールフォームが使えなくなっているのに気づきました(約4か月放置)
問い合わせフォームCGI(pgdmailform.cgi)を設置していたURLにアクセスすると、
Software error:
Can't use a hash as a reference at pgdmailform.cgi line 127, line 855.
For help, please send mail to the webmaster (info@valueserver.jp), giving this error message and the time and date of the error.
とのエラーが表示されます。
どうやらリニューアルの際、Perlのバージョンが変更されたのが原因っぽい。
5.8系 ⇒ 5.26系
さっそくエラーが発生している行を見てみると、
%{$form_value}
という書き方がNGのようで、
${$form_value}
という風に全部書き直す事で正常に動くようになりました。
【追記】自作CGIでも不具合発見
別の自作CGI(Perl)でも不具合が見つかりました。
どうやらパスの書き方が悪かったようで、
require "config.pl";
としていたところを
require "./config.pl";
このように変更することで、無事に表示されるようになりました。