0

strict や warnings などの perl モジュールを見つけようとしていますが、見つかりません... ところで、実際に archlinux を使用しているのですが、使用してみました

whereis

しかし、それは何も投げません。

4

4 に答える 4

4

モジュールにPODドキュメントが埋め込まれている場合(ほとんどの場合)、以下にその場所が表示されます。

perldoc -l Some::Module   (Lowercase "L" for "location")

それ以外の場合は、

perl -E'use Some::Module; say $INC{"Some/Module.pm"};'

Perlがモジュールを検索するすべての場所を特定することに興味があるかもしれません。もしそうなら、の内容を見てください@INC。使用できます

perl -V                 (Uppercase "V")

また

perl -E'say for @INC;'

Devel::Modlistにも興味があるかもしれません。以下に、スクリプトまたはモジュールによって(直接的または間接的に)使用されるすべてのモジュールへのパスを示します。

perl -d:Modlist=path some_script.pl

perl -d:Modlist=path -e'use Some::Module;'

がない=path場合は、すべてのモジュールのバージョンが返されます。

于 2011-09-22T19:34:42.923 に答える
1

個々のモジュールを見つけるには:

perldoc -l warnings

すべてのモジュールは次の@INCディレクトリの下にあります。

perl -V

関連項目:正規表現に一致するインストール済みの Perl モジュールを検索する

于 2011-09-22T19:17:57.643 に答える
1

%INCハッシュは、パッケージ名でキー付けされた、ロードされたモジュールのディスク上の場所を保持します。のキーをステップ実行し%INCて、関連する値を出力できます。例えば:

$ perl -MData::Dump -e 'print "$_: $INC{$_}\n" foreach keys %INC'

(Data::Dump をロードしたので、少なくとも 1 つのモジュールが確実に取り込まれます。その特定のモジュールを自分でロードする必要はありません。)

また、@INC配列はperlモジュールを検索するインクルード パスを保持するため、いつでも実行できます。

$ perl -E 'say foreach @INC'

すべてのデフォルトのインクルード パスを検索するには。

于 2011-09-22T19:43:22.143 に答える
1

Linux ディストリビューションを使用しているため、ネイティブ パッケージ マネージャーが最適なツールです。この場合、そのようなタスクには pacman を使用することを強くお勧めします:

pacman -Ql perl | egrep '(strict|warnings).pm'
于 2012-01-30T16:59:25.293 に答える