perl模块的有关问题

  • 查看perl模块的安装目录
    perl -e '{print "$_\n" foreach @INC}'
  • 查看已经安装的模块
    instmodsh
  • 查看perl模块的安装路径
    比如查看Math::Random::MT::Auto的安装路径
    perldoc -l Math::Random::MT::Auto
  • perl安装模块
    cpan Math::Random::MT::Auto
  • 安装过程中可能遇到以下问题,
    'YAML' not installed, will not store persistent state
    解决方法是
    perl -MCPAN -e 'install "YAML"'
    然后再次安装
    cpan Math::Random::MT::Auto
  • 但是会遇到下面的问题,那么就先安装缺少的模块
    image.png

    sudo cpan Exception::Class
    然后在次安装
    sudo cpan Math::Random::MT::Auto
  • 有时会遇到缺少版本头文件的问题


    image.png

解决方法是试着创建一个新的cpan文件,然后再重新安装:
cd && mv .cpan .cpan-bak
sudo cpan Statistics::Distributions
(因为我不知道如何在非root情况下安装,所以就只能先用管理员安装了)

  • 在使用perl时,有时安装过模块后,运行程序还是出错,这是可以对脚本进行修改,
    #!/bin/perl
    改为
    #!/bin/env perl
    这是因为可能你有两个perl,但是你安装模块时使用的perl和运行时调用的perl不是同一个导致的
  • 模块的调用
    在调用perl模块时,如果没有在环境变量中,就可以使用下面的语句在调用之前指定模块的位置,首先就是确定模块的路径
    方法一:
    perldoc -l DBI #参数-l Display the module's file name
    方法二:
    perl -MDBI -e 'print $INC{"DBI.pm"}'
    然后可以在脚本的开头添加路径
BEGIN {
unshift @INC,
qw(
/pub/anaconda3/lib/perl5/site_perl/5.22.0/x86_64-linux-thread-multi  #模块的路径
/pub/anaconda3/lib/perl5/site_perl/5.22.0  #模块的路径
/pub/anaconda3/lib/perl5/site_perl  #模块的路径
);
}

或者可以在此环境下perldoc中进行修改

参考:

无root权限时安装perl模块
perl自定义模块的调用
查看Perl模块安装路径
Linux 检查是否安装perl模块及列出所有已安装的perl模块(安装路径、版本号)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,974评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,009评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,779评论 18 399
  • We dug some old TV recordings from past Chinese Spring Fe...
    doooodles阅读 1,122评论 2 0
  • 如果有人总是喜欢有意无意的来伤害你 不要忧郁 也不要心急 相信吧—— 无缘无故的伤害和讽刺不代表你真的很逊 只能说...
    文若男阅读 242评论 7 8