在perl程序开发过程中,经常遇见有关输入、输出路径、数据库IP、账户和密码的定义。
如果不把这些常量集中定义并且模块化,就会分散在各个程序文件里,在程序维护或移植的过程中,就会显得非常麻烦。
下面介绍一种package的形式集中定义常量。
1.首先定义一个Constants.pm的package.
##############################################################
#
#Constants.pm
#
#流程常量定义
#日期:2020/08/20
#author:木白0101
#############################################################
package Constants;
#库路径
use constant LIB_DIR => "/mnt/data/project/lib";
#解读临时文件路径
use constant WORK_DIR => "/mnt/data/project//samples";
#perl安装路径
use constant PERL_DIR => "/mnt/data/project/perl-ins/bin/perl";
#####################################
#mysql参数
#####################################
use constant MYSQL_HOST => "xx.xxx.xx.xx:3306";
use constant MYSQL_USERNAME => "user";
use constant MYSQL_PASSWORD => "pwd";
use constant MYSQL_DATABASE => "database_name";
#####################################
#API
#####################################
use constant SENTIEON_API => "http://xx.xxx.x.xx:8080/project/run_workflow";
1;
2.在程序中调用定义的常量
##############################################################
#
#auto_read_start_vcf.pl
#日期:2020/08/20
#author:木白0101
#############################################################
use warnings;
use strict;
use Cwd 'abs_path'
use Constants; //引入常量package
use lib Constants::LIB_DIR;
########################
my $home=Constants::LIB_DIR; //直接赋值定义的常量
my $out=Constants::WORK_DIR; //直接赋值定义的常量
注意:引用该定义的常量package,可以在perl的lib路径建立一个Constants.pm的软链接,这样才能引用成功。
按这种方式就可以完美定义常量,以达到代码模块化的目的。
创业项目群,学习操作 18个小项目,添加 微信:923199819 备注:小项目!
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 zoodoho@qq.com举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.zodoho.com/111502.html
如若转载,请注明出处:https://www.zodoho.com/111502.html