Perl程序包是驻留在其自己的名称空间中的代码的集合。 Perl模块是在文件中定义的软件包, 其名称与该软件包的名称相同, 并且具有扩展名
。两个不同的模块可能包含相同名称的变量或函数。任何不包含在任何程序包中的变量都属于主程序包。因此, 所有使用的变量都属于" main"包。通过声明其他程序包, 可以保证不同程序包中的变量不会相互干扰。
声明一个Perl模块
模块名称必须与软件包名称相同, 并且扩展名为.pm。
示例:Calculator.pm
package Calculator;
# Defining sub-routine for Addition
sub addition
{
# Initializing Variables a &
b
$a = $_ [0];
$b = $_ [1];
# Performing the operation
$a = $a + $b ;
# Function to print the Sum
print "\n***Addition is $a" ;
}# Defining sub-routine for Subtraction
sub subtraction
{
# Initializing Variables a &
b
$a = $_ [0];
$b = $_ [1];
# Performing the operation
$a = $a - $b ;
# Function to print the difference
print "\n***Subtraction is $a" ;
}
1;
在这里, 文件名是存储在目录Calculator中的" Calculator.pm"。注意1;在代码末尾编写, 以将真值返回给解释器。 Perl接受任何真值, 而不是1。
使用Perl模块
要使用此计算器模块, 我们使用需求或使用功能。要从模块访问函数或变量, 请使用::。这是一个演示相同内容的示例:
示例:Test.pl
#!/usr/bin/perl# Using the Package 'Calculator'
use Calculator;
print "Enter two numbers to add" ;
# Defining values to the variables
$a = 10;
$b = 20;
# Subroutine call
Calculator::addition( $a , $b );
print "\nEnter two numbers to subtract" ;
# Defining values to the variables
$a = 30;
$b = 10;
# Subroutine call
Calculator::subtraction( $a , $b );
输出如下:
文章图片
从其他目录访问软件包
如果访问包的文件位于目录之外, 则我们使用" ::"来指示模块的路径。例如, 使用计算器模块的文件位于计算器包的外部, 因此我们编写了计算器::计算器以加载该模块, 其中'::'左侧的值表示软件包名称, 而'::'右侧的值表示Perl模块。名称。让我们看一个例子来理解这一点:
示例:计算器目录外的Test_out_package.pl
#!/usr/bin/perluse GFG::Calculator;
# Directory_name::module_nameprint "Enter two numbers to add" ;
# Defining values to the variables
$a = 10;
$b = 20;
# Subroutine call
Calculator::addition( $a , $b );
print "\nEnter two numbers to subtract" ;
# Defining values to the variables
$a = 30;
$b = 10;
# Subroutine call
Calculator::subtraction( $a , $b );
输出如下:
文章图片
使用模块中的变量
可以通过在使用之前声明它们来使用来自不同程序包的变量。以下示例说明了这一点
示例:Message.pm
#!/usr/bin/perlpackage Message;
# Variable Creation
$username ;
# Defining subroutine
sub Hello
{
print "Hello $username\n" ;
}
1;
Perl文件访问模块如下
示例:variable.pl
#!/usr/bin/perl# Using Message.pm package
use Message;
# Defining value to variable
$Message::username = "ABC" ;
# Subroutine call
Message::Hello();
输出如下:
文章图片
开始和结束块
【Perl中的软件包详细指南】当我们想在代码的开始部分运行而在代码的结束部分运行时, 使用BEGIN和END块。在脚本的开头执行在BEGIN {…}中编写的代码, 而在脚本的结尾执行在END {…}中编写的代码。下面的程序演示了这一点:
示例:begineg.pl
#!/usr/bin/perl# Predefined BEGIN block
BEGIN
{
print "In the begin block\n" ;
}# Predefined END block
END
{
print "In the end block\n" ;
}print "Hello Perl;
\n" ;
输出如下:
In the begin block
Hello Perl;
In the end block
推荐阅读
- Golang指向指针的指针(双指针)介绍
- DetailView –基于类的视图Django
- 计算机网络简明教程(四)(网络性能指标分析详解)
- 10道Vue.js精简经典面试题及答案——面试必备
- 计算机网络简明教程(三)(网络分类详解)
- 7个vue前端ui框架——前端程序员必须掌握
- vue+element跨行跨列合并
- 超简单!Linux VIM自动补全YouCompleteMe使用Vundle快速安装
- Wildpackets Omnipeek 11.0.1 64X+注册机 网络抓包分析工具百度网盘下载