热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

我可以在Perl包中压缩我的导出例程吗?

如何解决《我可以在Perl包中压缩我的导出例程吗?》经验,为你挑选了1个好方法。



1> ikegami..:

如果你使用常量而不是变量,

package Funx;

use strict;
use warnings;

use constant qw( );
use Exporter qw( import );

BEGIN {
    my %error_codes = (
        FUNX_SUCCESS      =>   0,
        FUNX_NOFILE       =>   1,
        FUNX_COPYFAIL     =>   2,
        FUNX_SOXFAIL      =>   3,
        FUNX_CURLFAIL     =>   4,
        FUNX_OPENFAIL     =>   5,
        FUNX_APPRUNNING   =>   6,
        FUNX_RAWDBEXIISTS =>   7,
        FUNX_DBCREATEERR  =>   8,
        FUNX_DBCOnNECTERR=>   9,
        FUNX_TMPFILEERR   =>  10,
        FUNX_DBWRITEERR   =>  11,
        FUNX_INVALIDUSER  =>  12,
        FUNX_DBLOCKERR    =>  13,
        FUNX_DBUNLOCKERR  =>  14,
        FUNX_WERR         => 100,
    );

    constant->import(\%error_codes);

    my @syms = keys(%error_codes);
    our @EXPORT_OK = \@syms;
    our %EXPORT_TAGS = ( ALL => \@syms, ERROR_CODES => \@syms );
}

除了解决您提出的问题之外,还有以上内容

修复了用户命名空间的污染问题.默认情况下,不要将一堆符号转储到其他名称空间中!

修复可能与其他模块冲突的可怜名称.您认为您是唯一具有代码的模块SUCCESS吗?

修复了模块的污染问题@ISA.Funx不是Exporter的子类.

用法:

use Funx;                                 # Imports nothing.
use Funx qw( );                           # Imports nothing.
use Funx qw( :ERROR_CODES );              # Imports error codes.
use Funx qw( :ALL );                      # Imports error codes.
use Funx qw( FUNX_SUCCESS FUNX_NOFILE );  # Imports specific error codes.


推荐阅读
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • node.jsrequire和ES6导入导出的区别原 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 怀疑是每次都在新建文件,具体代码如下 ... [详细]
  • 本文介绍了在多平台下进行条件编译的必要性,以及具体的实现方法。通过示例代码展示了如何使用条件编译来实现不同平台的功能。最后总结了只要接口相同,不同平台下的编译运行结果也会相同。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • Java自带的观察者模式及实现方法详解
    本文介绍了Java自带的观察者模式,包括Observer和Observable对象的定义和使用方法。通过添加观察者和设置内部标志位,当被观察者中的事件发生变化时,通知观察者对象并执行相应的操作。实现观察者模式非常简单,只需继承Observable类和实现Observer接口即可。详情请参考Java官方api文档。 ... [详细]
  • 本文介绍了在wepy中运用小顺序页面受权的计划,包含了用户点击作废后的从新受权计划。 ... [详细]
  • 本文介绍了如何使用vue-awesome-swiper组件,包括在main.js中引入和使用swiper和swiperSlide组件,以及设置options和ref属性。同时还介绍了如何在模板中使用swiper和swiperSlide组件,并展示了如何通过循环渲染swipes数组中的数据,并使用picUrl属性显示图片。最后还介绍了如何添加分页器。 ... [详细]
  • 本文讨论了将HashRouter改为Router后,页面全部变为空白页且没有报错的问题。作者提到了在实际部署中需要在服务端进行配置以避免刷新404的问题,并分享了route/index.js中hash模式的配置。文章还提到了在vueJs项目中遇到过类似的问题。 ... [详细]
  • Python已成为全球最受欢迎的编程语言之一,然而Python程序的安全运行存在一定的风险。本文介绍了Python程序安全运行需要满足的三个条件,即系统路径上的每个条目都处于安全的位置、"主脚本"所在的目录始终位于系统路径中、若python命令使用-c和-m选项,调用程序的目录也必须是安全的。同时,文章还提出了一些预防措施,如避免将下载文件夹作为当前工作目录、使用pip所在路径而不是直接使用python命令等。对于初学Python的读者来说,这些内容将有所帮助。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • PatchODAX8: ... [详细]
author-avatar
喵喵浮游生物
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有