Perl中的package语句将当前命名上下文切换到指定的命名空间(符号表)。因此-
包是驻留在其自己的命名空间中的代码的集合。
命名空间是唯一变量名称的命名集合(也称为符号表)。
命名空间可防止程序包之间的变量名冲突。
包使模块的构造成为可能,这些模块在使用时不会破坏模块自身命名空间之外的变量和功能。
该包将一直有效,直到调用另一个package语句,或者直到当前块或文件的末尾为止。
您可以使用::包限定符显式引用包中的变量。
以下是在文件中包含main和Foo包的示例。在这里,特殊变量__PACKAGE__已用于打印软件包名称。
#!/usr/bin/perl # This is main package $i = 1; print "Package name : " , __PACKAGE__ , " $i\n"; package Foo; # This is Foo package $i = 10; print "Package name : " , __PACKAGE__ , " $i\n"; package main; # This is again main package $i = 100; print "Package name : " , __PACKAGE__ , " $i\n"; print "Package name : " , __PACKAGE__ , " $Foo::i\n"; 1;
输出结果
执行以上代码后,将产生以下结果-
Package name : main 1 Package name : Foo 10 Package name : main 100 Package name : main 10
我有一个Perl脚本,它接受一个值并将其解压缩为一些二进制数据属性。示例如下 我想知道我是否使用Java可能使用或其他方式实现相同的效果。 在此要点中https://gist.github.com/enrobsop/8403717它适用于整数,但我仍然不清楚如何处理二进制数据。
本文向大家介绍Perl中的POD是什么?,包括了Perl中的POD是什么?的使用技巧和注意事项,需要的朋友参考一下 Pod是一种易于使用的标记语言,用于编写Perl,Perl程序和Perl模块的文档。有多种翻译器可用于将Pod转换为各种格式,例如纯文本,HTML,手册页等。Pod标记包含三种基本类型的段落- 普通段落-您可以在普通段落中使用格式代码,包括粗体,斜体,代码样式,超链接等。 Verba
问题内容: 使用,等,在以下位置指定软件包版本: 我希望能够从包中访问相同的版本号: 我可以将其添加到包的__init__.py中,但是我还想在包中包括其他导入,以创建包的简化接口: 和 但是,如果这些其他导入导入尚未安装的其他软件包,则可能导致安装失败。与setup.py和软件包共享软件包版本的正确方法是什么? 问题答案: 仅设置版本,然后使用读取自己的版本,从而有效地查询元数据: 文件: 文件
问题内容: 在Angular Component Router文档中,我偶然遇到了一个从未见过的npm命令,我不知道发生了什么: 是什么意思? 整个字符串是包名吗?但是当我在npmjs.com上使用搜索时,我没有找到该软件包。而且,命令行搜索也不会返回任何此类包: 那么npm中的某种前缀机制呢?以及它如何运作? 问题答案: 这是NPM的一项新功能,称为“作用域软件包”,可有效地使NPM软件包具有名
问题内容: 我正在研究新的代码库,并将系统迁移到新框架。 我想弃用许多软件包,只是让其他开发人员清楚知道,该软件包中的所有内容都不再用于新开发。 指示已弃用整个软件包的最佳方法是什么? 问题答案: 你自己说的:要弃用一切的 内 包,而不是包本身。该包只是一个名字空间而已,弃用名字空间的含义有所不同-就像 不要再使用这个名字空间了 。就像 不向该名称空间添加任何新项目 。 对于您的情况,我建议您弃用
本文向大家介绍什么是软件测试相关面试题,主要包含被问及什么是软件测试时的应答技巧和注意事项,需要的朋友参考一下 软件测试是为了发现错误而执行程序的过程,为保证软件质量而采取的措施。 或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(输入以及预期的输出结果),并利用这些测试用例去运行程序,以发现程序中的错误。 二种思维:正向:验证程序是否正常执行以及是否达到用户