strict や warnings などの perl モジュールを見つけようとしていますが、見つかりません... ところで、実際に archlinux を使用しているのですが、使用してみました
whereis
しかし、それは何も投げません。
strict や warnings などの perl モジュールを見つけようとしていますが、見つかりません... ところで、実際に archlinux を使用しているのですが、使用してみました
whereis
しかし、それは何も投げません。
モジュールに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
場合は、すべてのモジュールのバージョンが返されます。
個々のモジュールを見つけるには:
perldoc -l warnings
すべてのモジュールは次の@INC
ディレクトリの下にあります。
perl -V
%INC
ハッシュは、パッケージ名でキー付けされた、ロードされたモジュールのディスク上の場所を保持します。のキーをステップ実行し%INC
て、関連する値を出力できます。例えば:
$ perl -MData::Dump -e 'print "$_: $INC{$_}\n" foreach keys %INC'
(Data::Dump をロードしたので、少なくとも 1 つのモジュールが確実に取り込まれます。その特定のモジュールを自分でロードする必要はありません。)
また、@INC
配列はperl
モジュールを検索するインクルード パスを保持するため、いつでも実行できます。
$ perl -E 'say foreach @INC'
すべてのデフォルトのインクルード パスを検索するには。
Linux ディストリビューションを使用しているため、ネイティブ パッケージ マネージャーが最適なツールです。この場合、そのようなタスクには pacman を使用することを強くお勧めします:
pacman -Ql perl | egrep '(strict|warnings).pm'