joe*_*joe 57 perl command-line perl-module
我试着检查我的系统中是否安装了XML :: Simple.
perl -e 'while (<@INC>) { while (<$_/*.pm>) { print "$_\n"; } }'
Run Code Online (Sandbox Code Playgroud)
上面的单行用于列出我系统中安装的所有模块.但是,它没有列出XML模块.
但是,以下执行正常.
perl -e "use XML::Simple "
Run Code Online (Sandbox Code Playgroud)
可能是什么问题?
Ala*_*avi 94
您可以通过以下方式检查模块的安装路径:
perldoc -l XML::Simple
Run Code Online (Sandbox Code Playgroud)
单行的问题在于,它不是递归遍历目录/子目录.因此,您只获得实用的模块名称作为输出.
Sin*_*nür 39
又快又脏:
$ perl -MXML::Simple -e 1
Run Code Online (Sandbox Code Playgroud)
小智 12
例如,要检查是否安装了DBI模块,请使用
perl -e 'use DBI;'
Run Code Online (Sandbox Code Playgroud)
如果没有安装,您将看到错误.(来自http://www.linuxask.com)
你在那里做的不是递归到目录.它只列出目录根目录中的模块@INC
.
该模块XML::Simple
将位于其中一条@INC
路径下XML/Simple.pm
.
他上面说的是找到具体的模块.
CPAN
解释了如何在此处查找所有模块,请参阅如何查找已安装的模块.
小智 8
如果要快速检查是否已安装模块(至少在Unix系统上,将Bash作为shell),请将其添加到.bashrc文件中:
alias modver="perl -e\"eval qq{use \\\$ARGV[0];\\\\\\\$v=\\\\\\\$\\\${ARGV[0]}::VERSION;};\ print\\\$@?qq{No module found\\n}:\\\$v?qq{Version \\\$v\\n}:qq{Found.\\n};\"\$1"
Run Code Online (Sandbox Code Playgroud)
然后你可以:
=> modver XML::Simple
No module found
=> modver DBI
Version 1.607
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
159705 次 |
最近记录: |