zoukankan      html  css  js  c++  java
  • @EXPORT 和@EXPORT_OK区别

    [root@node01 lib]# cat Pk01.pm 
    package Pk01;
    require Exporter;
    @ISA = qw(Exporter);
    @EXPORT_OK = qw(munge frobnicate);  # symbols to export on request
    sub munge{
        my $a=shift;
        my $b=shift;
        return $a+$b;
    };
    sub frobnicate{
        my $a=shift;
        my $b=shift;
        return $a*$b;
    };
    
    1;
    [root@node01 lib]# cat a1.pl 
    use Pk01 qw(munge frobnicate);
    print munge(22,33);
    print "
    ";
    print frobnicate(22,33);
    print "
    ";
    [root@node01 lib]# perl a1.pl 
    55
    726
    
    
    此时都正常输出:
    
    
    
    
    [root@node01 lib]# cat a1.pl 
    use Pk01;
    print munge(22,33);
    print "
    ";
    print frobnicate(22,33);
    print "
    ";
    [root@node01 lib]# perl a1.pl 
    Undefined subroutine &main::munge called at a1.pl line 2.
    
    
    这个导致Perl来加载你的模块 但是不导入任何符号表  
    
    
    
    [root@node01 lib]# cat Pk01.pm 
    package Pk01;
    require Exporter;
    @ISA = qw(Exporter);
    @EXPORT = qw(munge frobnicate);  # symbols to export on request
    sub munge{
        my $a=shift;
        my $b=shift;
        return $a+$b;
    };
    sub frobnicate{
        my $a=shift;
        my $b=shift;
        return $a*$b;
    };
    
    1;
    [root@node01 lib]# cat a1.pl 
    use Pk01;
    print munge(22,33);
    print "
    ";
    print frobnicate(22,33);
    print "
    ";
    [root@node01 lib]# perl a1.pl 
    55
    726
    
    @EXPORT 这个导入所有的符号从YourModule's @EXPORT 到你的名字空间

  • 相关阅读:
    24节气冬至
    最佳人体舒适温度是多少?
    常用正则
    点击按钮后的Loading处理
    支付时过渡动画
    npm ci 和 npm install
    Vue批量上传文件及实时进度
    HTML DOM classList 属性的使用
    Electron Uncaught ReferenceError: require is not defined
    javascript 深拷贝的问题
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349454.html
Copyright © 2011-2022 走看看