perl用cpan安装模块常见错误

  1. make: yacc: Command not found
  2. yum install -y bison
  3. yum install -y byacc.i386
  4.  
  5.  
  6. Could not load the pcap library
  7. 32位:
  8. yum install -y libpcap.i386
  9. yum install -y libpcap-devel.i386
  10. 64位:
  11. yum install -y libpcap.x86_64
  12. yum install -y libpcap-devel.x86_64
  13.  
  14. make: *** No rule to make target `/usr/lib64/perl5/CORE/config.h', needed by `Makefile'.  Stop.
  15. yum install -y perl-devel.x86_64

perl cpan升级

  1. cpan
  2. install Bundle::CPAN
  3. reload cpan

cpanm-perl的cpan升级版

cpanm是一个集查询,安装,卸载perl模块的工具

  1. #下载cpanm
  2. wget https://raw.github.com/miyagawa/cpanminus/master/cpanm -O /usr/local/bin/cpanm --no-check-certificate && chmod +x /usr/local/bin/cpanm
  3. cpanm Your_Module_Name #安装模块
  4. cpanm http://baiqiuyi.com/Your_Module_Name #支持http模式安装模块
  5. cpanm --mirror #指定镜像
  6. 其他具体man cpanm

perl内置变量

收藏一份详细的perl内置变量说明:

  1. $- 当前页可打印的行数,属于Perl格式系统的一部分
  2.  
  3. $! 根据上下文内容返回错误号或者错误串
  4.  
  5. $” 列表分隔符
  6.  
  7. $# 打印数字时默认的数字输出格式
  8.  
  9. $$ Perl解释器的进程ID
  10.  
  11. $% 当前输出通道的当前页号
  12.  
  13. $& 与上个格式匹配的字符串
  14.  
  15. $( 当前进程的组ID
  16.  
  17. $) 当前进程的有效组ID
  18.  
  19. $* 设置1表示处理多行格式.现在多以/s和/m修饰符取代之.
  20.  
  21. $, 当前输出字段分隔符
  22.  
  23. $. 上次阅读的文件的当前输入行号
  24.  
  25. $/ 当前输入记录分隔符,默认情况是新行
  26.  
  27. $: 字符设置,此后的字符串将被分开,以填充连续的字段.
  28.  
  29. $; 在仿真多维数组时使用的分隔符.
  30.  
  31. $? 返回上一个外部命令的状态
  32.  
  33. $@ Perl解释器从eval语句返回的错误消息
  34.  
  35. $[ 数组中第一个元素的索引号
  36.  
  37. $" 当前输出记录的分隔符
  38.  
  39. $] Perl解释器的子版本号
  40.  
  41. $^ 当前通道最上面的页面输出格式名字
  42.  
  43. $^A 打印前用于保存格式化数据的变量
  44.  
  45. $^D 调试标志的值
  46.  
  47. $^E 在非UNIX环境中的操作系统扩展错误信息
  48.  
  49. $^F 最大的文件捆述符数值
  50.  
  51. $^H 由编译器激活的语法检查状态
  52.  
  53. $^I 内置控制编辑器的值
  54.  
  55. $^L 发送到输出通道的走纸换页符
  56.  
  57. $^M 备用内存池的大小
  58.  
  59. $^O 操作系统名
  60.  
  61. $^P 指定当前调试值的内部变量
  62.  
  63. $^R 正则表达式块的上次求值结果
  64.  
  65. $^S 当前解释器状态
  66.  
  67. $^T 从新世纪开始算起,脚步本以秒计算的开始运行的时间
  68.  
  69. $^W 警告开关的当前值
  70.  
  71. $^X Perl二进制可执行代码的名字
  72.  
  73. $_ 默认的输入/输出和格式匹配空间
  74.  
  75. $| 控制对当前选择的输出文件句柄的缓冲
  76.  
  77. $~ 当前报告格式的名字
  78.  
  79. $` 在上个格式匹配信息前的字符串
  80.  
  81. $’ 在上个格式匹配信息后的字符串
  82.  
  83. $+ 与上个正则表达式搜索格式匹配的最后一个括号
  84.  
  85. $< 当前执行解释器的用户的真实ID
  86.  
  87. $ 含有与上个匹配正则表达式对应括号结果
  88.  
  89. $= 当前页面可打印行的数目
  90.  
  91. $> 当前进程的有效用户ID
  92.  
  93. 包含正在执行的脚本的文件名
  94.  
  95. $ARGV 从默认的文件句柄中读取时的当前文件名
  96.  
  97. %ENV 环境变量列表
  98.  
  99. %INC 通过do或require包含的文件列表
  100.  
  101. %SIG 信号列表及其处理方式
  102.  
  103. @_ 传给子程序的参数列表
  104.  
  105. @ARGV 传给脚本的命令行参数列表
  106.  
  107. @INC 在导入模块时需要搜索的目录列表
  108.  
  109. $-[0]和$+[0] 代表当前匹配的正则表达式在被匹配的字符串中的起始和终止的位置

perl的cpan自动应答yes

  1. o conf prerequisites_policy follow
  2. o conf commit
  3. exit