zoukankan      html  css  js  c++  java
  • 第11章 模块

    第11章 模块;

    模块是Perl里重复使用的基本单元,在它的外皮下面,它只不过是已定义在一个同名文件(以.pm)里面的包。

    模块有两种风格:传统的和面向对象的。

    传统模块为调用者的输入和使用定义了子过程和变量。面向对象的模块的运转类似声明并且

    是通过方法调用来访问的。

    use 语句在编译的时候对MODULE进行一次预装载,然后把你需要的符号输入进来,这样剩下的编译

    过程就可以使用这些符号了。如果你想提供你想要的符号的LIST(列表),

    use 是编译的时候

    require 是运行的时候

    [root@master Webqq]# perl t28.pl
    Can’t locate xx.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5

    /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at t28.pl line 1.
    BEGIN failed–compilation aborted at t28.pl line 1.

    会去@INC 定义的路径去找模块:

    [root@master Webqq]# perl t28.pl
    /usr/local/lib64/perl5/usr/local/share/perl5/usr/lib64/perl5/vendor_perl/usr/share/perl5/vendor_perl/usr/lib64/p

    erl5/usr/share/perl5.[root@master Webqq]#

    11.2 创建模块:

    我们前面说过,一个模块可以有两个方法把它的接口提供给你的程序使用:把符号输出或者允许方法调用。

    Perl 会自动调用重要方法当处理一个使用的语句对于一个模块

    当你使用一个模块,通常是这个模块提供了你的程序可以使用的几个函数或者变量,或者更准确地说,

    为你的程序的当前包提供了函数和变量。这种从模块输出符号(并且把它们输入到你的程序)的动作

    有时候被称为污染你的名字空间,大多数模块使用Exporter来做这些事情:

  • 相关阅读:
    各个地区2.4G及5G信道一览表 [转]
    nf_conntrack
    串口 属性 设置 termios.h [转载&修改]
    802.3 Logical Link Control 协议相关
    HTTP协议中GET、POST和HEAD的介绍[转载]
    Android Shell、SSH、GCC安装与配置
    mybatis中sql语句总结
    [leedcode 128] Longest Consecutive Sequence
    [leedcode 126] Word Ladder
    [leedcode 125] Valid Palindrome
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351353.html
Copyright © 2011-2022 走看看