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来做这些事情:

  • 相关阅读:
    单例模式学习(一)
    java线程池学习(一)
    redis面试总结(二)
    redis面试总结(一)
    spark 内存溢出处理
    大数据面试总结(一)
    Spark 知识点总结--调优(一)
    组合数据类型
    一些小细节
    文件归档
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351353.html
Copyright © 2011-2022 走看看