【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集

レンタルサーバ内で、Perlのどんなモジュールが使用可能かどうかを調べたいのですが、一覧で取得する方法はありませんでしょうか?
どうぞよろしくお願いします。

A 回答 (1件)

利用可能なモジュール一覧を取得するスクリプト(modlist.pl)を書いてみました。


サーバに置いて、
  perl modlist.pl > modlist.txt
とすれば、modlist.txt にモジュールの一覧が出力されます。

use strict;

my %mod_list;

listup($_) for grep {$_ ne '.'} @INC;
print "$_\n" for sort keys %mod_list;

sub listup {
  my ($base, $path) = @_;
  (my $mod = $path) =~ s!/!::!g;

  opendir DIR, "$base/$path" or return;
  my @node = grep {!/^\.\.?$/} readdir DIR;
  closedir DIR;

  foreach (@node) {
    if (/(.+)\.pm$/) { $mod_list{"$mod$1"} = 1 }
    elsif (-d "$base/$path$_") { listup($base, "$path$_/") }
  }
}

※インデントに全角空白を使っていますので、コピーして利用される場合はタブなどに変換してください。

telnet が利用できないサーバなら、modlist.pl の先頭に次の2行を付け足して、CGIとして実行してください。

#! /usr/bin/perl
print "Content-Type: text/plain\n\n";

※1行目はサーバに合わせて変更してください。
※Permissionの設定も忘れずに。
※サーバによっては、拡張子を.cgiにする必要があるかもしれません。
    • good
    • 0
この回答へのお礼

無事、リストを取得することができました。
どうもありがとうございます。助かりました。

お礼日時:2003/11/14 07:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報