Perlモジュールチェック

レンタルサーバなどでシェルが使えず、使えるPerl Moduleを調べたいときにと思い。

#!/usr/bin/env perl

use warnings;
use strict;
use CGI;

my $q = new CGI;
my $mod = $q->param('mod');
my $result;
if ($mod =~ /^([A-Za-z0-9:]+)$/){
  $mod = $1;
  eval "require $mod";
  $result = ($@ eq "") ? "$mod OK" : $@;
}
else {
  $result = "Input Exception: $mod";
}



print <<EOT;
Content-Type: Text/Html

<html>
<body>
<form action="$ENV{SCRIPT_NAME}" method="get">
module name: <input type="text" name="mod" value="$mod">
<input type="submit">
</form>
Result: $result
</body>
</html>
EOT

[comp][net]もうちっとえぐいやつ

#!/usr/bin/env perl

print "Content-Type: Text/plain\n\n";
foreach $dir (@INC){
  print map {s/$dir//g; $_} `find $dir -name '*.pm'`
}

もちろん自己責任で。