#!/usr/local/bin/perl # 上記パスは、システムにあわせて変更してください # パラメータ読み込み if ($ENV{'REQUEST_METHOD'} eq 'POST') { read(STDIN, $query, $ENV{'CONTENT_LENGTH'}); } else { $query = $ENV{'QUERY_STRING'}; } # パラメータ分割 foreach $pair (split(/&/, $query)) { ($key, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([0-9a-zA-Z][0-9a-zA-Z])/chr(hex($1))/eg; $FORM{$key} = $value; } print < Perl モジュールチェッカ

Perl モジュールチェッカ

DOCHEAD $kw = $FORM{'kw'}; goto SFILE if (! $kw); # モジュールロードテスト if (eval "require $kw") { $res = 'モジュールのロードに成功しました'; } else { $res = 'モジュールは存在しないか、ロードできません。'; } print <モジュールロードテスト

モジュール名: $kw
結果: $res

MODBODY @kw = split(/::/, $kw); $kw = $kw[0]; # ファイル検索 SFILE: # デフォルトパラメータの設定 $kw = '.*' if (! $kw); print <ファイル検索

ファイル名: $kw
FILEHEAD $find = 0; foreach $dir (@INC) { $dir .= "/*"; @files = <${dir}>; foreach $mdl (@files) { if ($mdl =~ /$kw/i) { $find++; print "$mdl
\n"; } } } print "ファイルが見つかりませんでした" if (! $find); print < DOCFOOT exit 1;