在perl的命名空间,包和模块之间有什么区别?

命名空间或包是一样的?我使用Perl,我们只有包裹.我知道还有其他的编程语言也包括模块.

有什么不同?

解决方法

命名空间是一个通用计算术语,意思是用于不同标识符集合的容器.相同的标识符可以独立出现在不同的命名空间中,并引用不同的对象,并且明确标识对象的完全限定标识符由命名空间加标识符组成.

Perl使用package关键字实现命名空间.

一个Perl模块是完全不一样的.它是一段Perl代码,可以并入任何使用use关键字的程序.文件名应以.pm – 以Perl模块结尾,并且其包含的代码应该具有使用等同于文件名称的包名称的包语句,包括其路径.例如,一个写在My / Useful / Module.pm文件中的模块应该有一个包语句,如包My :: Useful :: Module.

你可能会想到的是一个类,它再次是一般的计算术语,这一次意味着一种面向对象的数据类型. Perl使用它的包作为类名,面向对象的模块将有一个构造函数子程序 – 通常称为new – 将返回对已经被使用为blessed的数据的引用,使其以面向对象的方式运行.绝对不是所有的Perl模块都是面向对象的:一些可以是简单的子例程库.

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...