Perl 教程 之 Perl 包和模块 3

简介: **Perl模块简述:**模块是可重用的代码包,如`Foo.pm`,包含`package Foo`及函数如`bar`和`blat`。`require`或`use`加载模块,`@INC`数组存储搜索路径。`eval`执行模块代码,末尾的`1;`确保成功加载。

Perl 教程 之 Perl 包和模块 3

Perl 包和模块

什么是 Perl 模块?

Perl5 中用Perl包来创建模块。

Perl 模块是一个可重复使用的包,模块的名字与包名相同,定义的文件后缀为 .pm。

以下我们定义了一个模块 Foo.pm,代码如下所示:

实例

!/usr/bin/perl

package Foo;
sub bar {
print "Hello $_[0]\n"
}

sub blat {
print "World $_[0]\n"
}
1;

Perl 中关于模块需要注意以下几点:

函数 require 和 use 将载入一个模块。

@INC 是 Perl 内置的一个特殊数组,它包含指向库例程所在位置的目录路径。

require 和 use 函数调用 eval 函数来执行代码。

末尾 1; 执行返回 TRUE,这是必须的,否则返回错误。

目录
相关文章
|
SQL 消息中间件 关系型数据库
ClickHouse(04)如何搭建ClickHouse集群
ClickHouse集群的搭建和部署和单机的部署是类似的,主要在于配置的不一致,如果需要了解ClickHouse单机的安装设部署,可以看看这篇文章,[ClickHouse(03)ClickHouse怎么安装和部署](https://zhuanlan.zhihu.com/p/532431053)。
1483 1
|
算法
【MATLAB】 SSA奇异谱分析信号分解算法
【MATLAB】 SSA奇异谱分析信号分解算法
792 0
|
分布式计算 JavaScript 前端开发
JS中数组22种常用API总结,slice、splice、map、reduce、shift、filter、indexOf......
JS中数组22种常用API总结,slice、splice、map、reduce、shift、filter、indexOf......
393 0
物联网卡不能使用在什么设备上
“物联网卡不能使用在什么设备上”这一操作或规定,通常基于物联网卡的特性、使用条款以及设备兼容性等因素。以下是对这一问题的详细分析和操作建议:
|
存储 SQL 搜索推荐
一站式实时数仓Hologres整体能力介绍—2024实时数仓Hologres公开课 01
一站式实时数仓Hologres整体能力介绍—2024实时数仓Hologres公开课 01
|
存储 算法 安全
基于Guava布隆过滤器的海量字符串高效去重实践
基于Guava布隆过滤器的海量字符串高效去重实践
Idea的server.port端口不生效yml配置文件不生效
Idea的server.port端口不生效yml配置文件不生效
1191 2
|
C# 容器
WPF技术之Expander控件
WPF Expander控件是一个可折叠展开的容器,它允许用户在需要时展开或折叠其内容。它提供了一种在图形界面中组织和隐藏信息的方式。
855 0
|
存储 关系型数据库 对象存储
PolarDB-PG | PostgreSQL + 阿里云OSS 实现高效低价的海量数据冷热存储分离
数据库里的历史数据越来越多, 占用空间大, 备份慢, 恢复慢, 查询少但是很费钱, 迁移慢 怎么办? 冷热分离方案: - 使用PostgreSQL 或者 PolarDB-PG 存成parquet文件格式, 放到aliyun OSS存储里面. 使用duckdb_fdw对parquet文件进行查询. - duckdb 存储元数据(parquet 映射) 方案特点: - 内网oss不收取网络费用, 只收取存储费用, 非常便宜 - oss分几个档, 可以根据性能需求选择 - parquet为列存储, 一般历史数据的分析需求多,性能不错 - duckdb 支持 parquet下推过滤, 数据过滤性能不错
7801 6
PolarDB-PG | PostgreSQL + 阿里云OSS 实现高效低价的海量数据冷热存储分离
|
Kubernetes Java jenkins
自动化集成:Pipeline整合Docker+K8S
可以根据各个业务的需要,参考流水线组件的功能文档,不断引入更好的方式去优化流程,最终会形成一个持续交付的自动流程,并且不会对代码层面带来改造成本。
458 0
自动化集成:Pipeline整合Docker+K8S