バリューサーバーでメールフォームが動かなくなった件

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";

このように変更することで、無事に表示されるようになりました。