- ベストアンサー
Perlでuse strictと %inの共存
use strictを使うと、変数の使用に厳密にチェックしてくれるので、便利だと思い使いましたが、ReadParse後の%inを利用する場合に宣言されていないエラーが表示されます。意味的には正しいですが、$in{'test'}など CGIで受け取った内容が扱えなくなるので、困っております。何か解決方法は有るのでしょうか? use strict; require 'cgi-lib.pl'; require 'jcode.pl'; &ReadParse; my $x = $in{'md'};
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
そのような場合、Perl 5.6 以上ならば「our %in;」、それ以前ならば「use vars '%in';」を、%in の使用箇所より前に記述します。 こうすると、strict 環境でもグローバル変数をそのまま利用できます。