perl 模块位于 archlinux 中的哪里

发布于 2024-12-05 18:31:23 字数 125 浏览 1 评论 0 原文

我试图找到 perl 模块,例如 strict 和警告,但我找不到它们...顺便说一句,我实际上使用 archlinux,我尝试使用

whereis

但它什么也没抛出。

Im trying to find perl modules, such as strict and warnings, but i cant find them... btw im actually using archlinux, i tried using

whereis

but it throws nothing.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

慕巷 2024-12-12 18:31:23

如果模块嵌入了 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,它将返回所有模块的版本。

If the module has POD documentation embedded (which most do), the following will display its location:

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

Otherwise, you can use

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

You might be interested in identifying all the locations in which your Perl searches for modules. If so, look at the contents of @INC. You can use

perl -V                 (Uppercase "V")

or

perl -E'say for @INC;'

You may also be interested in Devel::Modlist. The following will lists the path to all the modules used (directly or indirectly) by a script or module:

perl -d:Modlist=path some_script.pl

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

Without =path, it returns the versions of all the modules.

穿透光 2024-12-12 18:31:23

要查找单个模块:

perldoc -l warnings

所有模块均位于 @INC 目录下:

perl -V

另请参阅:查找与正则表达式匹配的已安装 Perl 模块

To find an individual module:

perldoc -l warnings

All modules are under @INC directories:

perl -V

See also: Find installed Perl modules matching a regular expression

橘虞初梦 2024-12-12 18:31:23

%INC 哈希保存已加载模块在磁盘上的位置,以包名称为键。您可以单步执行 %INC 的键并打印出关联的值。例如:(

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

我加载了 Data::Dump,以便肯定至少会拉入一个模块。您不必自己加载该特定模块。)

此外,@INC 数组包含perl 在其中搜索模块的包含路径,因此您始终可以执行以下操作:

$ perl -E 'say foreach @INC'

查找所有默认包含路径。

The %INC hash holds the on-disk locations of loaded modules, keyed by the package name. You can step through the keys of %INC and print out the associated value. For example:

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

(I loaded Data::Dump so that at least one module would be pulled in for sure. You don't have to load that specific module yourself.)

Also, the @INC array holds the include paths that perl searches for modules in, so you can always do:

$ perl -E 'say foreach @INC'

To find all the default include paths.

薄凉少年不暖心 2024-12-12 18:31:23

由于您使用的是 Linux 发行版,因此本机包管理器是最合适的工具。在这种情况下,强烈建议使用 pacman 来完成这样的任务:

pacman -Ql perl | egrep '(strict|warnings).pm'

Since you are using a Linux distribution, the native package manager is the most suitable tool. In this case, it's highly recommend to use pacman for such a task:

pacman -Ql perl | egrep '(strict|warnings).pm'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文