- ベストアンサー
use strictとグロブ?
cgi-lib.plのReadParseの引数でParamグロブを使った場合、 use strict;をすると、必ず以下のエラーが表示されます。 use strictはそのまま使いたく、他の部分も厳密にチェックしたいのですが 何かよい方法はありますか? use strict; require 'cgi-lib.pl'; &ReadParse(*Param); my $MODE = $Param{'MODE'}; <----- errro Variable "%Param" is not imported at
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
use vars qw/%Param/;
その他の回答 (1)
- sakusaker7
- ベストアンサー率62% (800/1280)
回答No.2
CGI.pmとか、それが重くていやだというなら CGI::Lite.pmやCGI::Minimal.pm という選択もできるのではないかと思うのですが、 いまさら cgi-lib.plから離れたくないということなら CGIに対するパラーメータを取得するところを sub get_param { no strict 'refs' #たぶん no strict でなくてOK &ReadParse(*Param); $Param{'MODE'}; # return $Param{'MODE'};がお好みなら修正してください } のようにすればいけると思います。 このサブルーチンだと 'MODE' しかとってこれませんが、 より汎用的にするのは簡単ですよね。