编写Perl代码的模式

编写Perl代码的模式

Perl是一种通用的、高水平的解释和动态编程语言。Perl同时支持程序化和面向对象的编程。在最初的阶段,Perl只为系统管理和文本处理而开发,但在后来的版本中,Perl有了处理正则表达式和网络插座等的能力。由于Perl在语法上与其他广泛使用的语言非常相似,所以用Perl编码和学习比较容易。

Perl是一种自由形式的语言,这意味着它可以根据用户的要求进行编写、格式化和缩进。一个Perl程序由一连串的语句、循环、子程序等组成,可以在代码中轻松地移动。Perl代码中的每条语句都必须以分号(;)结束。像其他语言一样,Perl也支持多种模式来编写和执行Perl代码。这些模式可以根据其编写的兼容性和执行的模式进行分类,具体方法如下。

  • 交互式模式
  • 脚本模式
  • 单行模式

这些模式可以通过使用 perl 关键字在命令行中运行,也可以在在线 IDE 中以代码块的形式运行。Perl在安装包中还提供了一个自己的IDE。

交互式模式

写Perl代码的交互式模式意味着与解释器的直接交互。交互式模式是一种很好的入门方式,因为它有助于逐行检查代码的流程,使调试过程更加容易。Perl的交互式模式可以在命令行上使用Perl调试器。这种解释器通常被称为 REPL - 读取、评估、打印、循环。
交互模式提供了一种即时开发和执行代码的方式,而不需要创建一个临时文件来存储源代码。在Perl调试器的帮助下,Perl内置的命令行或Windows命令提示符可以作为REPL使用。这个调试器可以在Perl程序的帮助下使用,具体命令如下。

perl -de1

这个命令将在Perl命令行中打开调试器模式,如下所示:



编写Perl代码的模式

在编写Perl代码的交互式模式下,用户必须逐行编写代码,并同时执行。
例子: 如果我们需要将两个数字相加并显示结果,那么就可以在交互式模式下以如下方式完成:
编写Perl代码的模式

Perl中的交互式模式可以在命令行中运行,而不需要使用Perl调试器。这可以通过使用以下命令来实现。

perl -e Code_statement;

该语句使用-e标志来避免创建脚本,并允许代码在没有调试器的情况下在命令行上运行。

例子:



编写Perl代码的模式
这种在交互式模式下的编写方法不允许用户像在调试器中那样写多行代码。如果一个程序很长,那么这种模式将不是首选。
编写Perl代码的模式

交互式模式对初级程序员学习编程的基础知识很有帮助,但如果你要处理超过几行的代码,那么这种模式就会变得笨拙和乏味。

脚本模式

Perl中的脚本模式是用来编写Perl程序的,这些程序有几行以上的代码,对于交互模式来说有点复杂。Perl中的脚本模式可以在文本编辑器的帮助下编写Perl程序,并将其保存在一个叫做 脚本 的文件中,然后用命令行来执行这个保存的文件。这个文件必须以.pl为扩展名保存,并应放在与命令行所给的目录路径相同的文件夹中。这个脚本在命令行中使用命令进一步运行。

perl File_Name.pl

例如: 用文本编辑器(记事本等)编写代码,并保存为Perl_program.pl脚本。



编写Perl代码的模式
现在,在命令行中运行以下命令来执行保存为Perl_program.pl的脚本。

perl Perl_program.pl

输出:

编写Perl代码的模式
Perl中的脚本模式,与交互式模式不同,不能单独为表达式产生输出。在交互式模式下,表达式会被评估,其值也会被显示出来,但在脚本模式下,表达式会被评估,但它不会显示任何结果,直到被要求这样做。

脚本模式也在在线集成开发环境中实现,用于编写和执行perl代码,而不需要手动将其存储在文件中。在这些集成开发环境中,编译后的代码以临时文件的形式存储在内存中,只在代码被执行和集成开发环境在浏览器中打开时使用。一旦刷新,这个临时文件就会被删除,内存中占用的空间就会被释放。

在线集成开发环境使代码的执行变得更容易,因为与文件要存储在系统内存中的脚本模式相比,它们需要更少的努力。这使得代码的编译和执行更加快速。这些在线集成开发环境尽管为程序员提供了便利,但也有一定的局限性,例如,这些集成开发环境不能执行文件处理操作,除非文件被上传到他们的服务器上,这可能会对一些重要数据造成风险。这种文件处理操作可以在命令行编译器上轻松完成。
以下是一个在在线IDE上运行的两个数字相加的Perl代码的例子。

#!/usr/bin/perl
# Program to add two numbers
  
# Assigning values to variables
var1 = 10;var2 = 25;
  
# Evaluating the result
result =var1 + var2;
  
# Printing the result
print "Result after addition is:result";

输出。

Result after addition is: 35

单行道模式

Perl 还提供了一个单行模式,它允许在命令行上直接输入和执行一个非常短的代码脚本。这样做的目的是为了避免创建文件来存储那些不是很长的代码的脚本。在命令行模式下,这些代码可以在以下命令的帮助下在单行上输入。

perl -e

该命令用于在命令行中写下并执行单行代码,将其写入双引号中。upgiven命令中的-e标志告诉编译器,代码的脚本不存储在任何类型的文件中,而是写在这个标志之后的双引号中。

例子:

编写Perl代码的模式

在Linux/Unix中,这些双引号被替换为单引号,反之亦然。

编写Perl代码的模式

这些单行符对于快速做出改变非常有用,如查找信息、改变文件内容等。一些程序员避免使用单行符,因为当脚本有点长时,它们可能会变得很笨拙。而有些程序员则喜欢这样做,因为单线程比脚本快,因为不需要把它们存储到文件中。

Perl 教程
Perl 教程Perl 安装配置第一个 Perl 程序Perl 语法Perl 中的数据类型Perl 变量Perl 局部和全局变量Perl 中的标量Perl use strict和use warningsPerl 列表和数组Perl 中的哈希Perl 运算符Perl 中的条件语句Perl 中的if语句Perl 中的if-else语句perl 中的if-elsif-else语句Perl 中的unless语句Perl 中的unless-else语句Perl 中的 Switch CasePerl 中的 given-when-default 语句Perl 中的循环和循环控制语句Perl 中的 for 循环Perl while 循环Perl do-while 循环Perl foreach 循环Perl 中的until循环Perl 中的子程序Perl 字符串Perl 字符串转义序列Perl BarewordsPerl 比较文件的内容Perl 根据行号显示文件内容Perl 加密和解密Perl 错误处理Perl 格式Perl 函数签名Perl Hello World程序Perl 简介编写Perl代码的模式使用Perl的数字猜测游戏Perl 面向对象的编程(OOPs)Perl 包Perl abs()函数Perl 使用文件全局访问一个目录Perl Regex中的锚点Perl 向文件追加内容Perl 数组 pop() 函数Perl 数组切片Perl 数组 (push、pop、shift、unshift)Perl 数组Perl Regex中的断言Perl atan2() 函数Perl 自动加载(AUTOLOAD)功能Perl 字符串到数字的自动转换或铸造Perl 引用中的自生现象Perl 正则表达式中的回溯操作Perl Perl程序的基本语法Perl 布尔值Perl 调试器的中断点Perl CGI编程Perl chomp()函数Perl chop()函数Perl chr()函数Perl OOP中的类Perl cmp 操作符Perl 比较标量Perl 构造函数和析构函数Perl cos()函数Perl 计算文本中单词的频率Perl 创建Excel文件Perl 数据类型Perl 日期和时间Perl DBI(数据库独立接口)模块集Perl 分支 (if, if-else, Nested-if, if-elsif ladder, unless, unless-else, unless-elsif)Perl defined()函数Perl delete()函数Perl 带有CRUD操作的目录Perl 用调试器显示变量值Perl each() 函数Perl 正则表达式中的'e'修改器Perl 正则表达式中的'ee'修改器Perl OOPs中的封装Perl eq运算符Perl exists() 函数Perl 从脚本中退出Perl exp函数Perl 使用Regex从一个字符串中提取IP地址Perl 文件处理简介Perl 文件输入输出功能Perl 文件锁定Perl 文件测试运算符Perl CGI中的文件上传Perl 查找文件和目录Perl ge运算符Perl CGI中的GET与POSTPerl getc函数Perl 获取一个数组的元素数Perl given-when 语句Perl glob()函数Perl goto 语句Perl grep()函数Perl Regex中的分组和交替法Perl gt运算符Perl 标量和列表背景下的哈希值Perl 哈希操作Perl HashPerl 哈希值Perl hex函数Perl 实现一个队列Perl 实现一个堆栈Perl index() 函数Perl OOPs中的继承性Perl 在Windows、Linux和MacOS中的安装和环境设置Perl int()函数Perl join()函数Perl keys() 函数Perl 循环中的lastPerl lc()函数用于小写转换Perl lcfirst()函数Perl le运算符Perl length()函数Perl 调试器中的行操作命令Perl 列表及其类型Perl 列表的上下文敏感度Perl 列表函数Perl log() 函数Perl 循环 for, foreach, while, do...while, until, 嵌套循环Perl lt运算符Perl 匹配运算符
Perl 基础教程
Perl 简介Perl 环境安装Perl 基础语法Perl 数据类型Perl 变量Perl 标量Perl 数组Perl 哈希Perl 条件语句Perl 循环Perl 运算符Perl 时间日期Perl 子程序(函数)Perl 引用Perl 格式化输出Perl 文件操作Perl 目录操作Perl 错误处理Perl 特殊变量Perl 正则表达式Perl Socket 编程Perl 面向对象Perl 包和模块Perl 进程管理Perl POD 文档Perl while 循环Perl until 循环Perl for 循环Perl foreach 循环Perl do…while 循环Perl 循环嵌套Perl next 语句Perl last 语句Perl continue 语句Perl redo 语句Perl goto 语句Perl IF 语句Perl IF…ELSE 语句Perl IF…ELSIF 语句Perl UNLESS 语句Perl UNLESS…ELSE 语句Perl UNLESS…ELSIF 语句Perl switch 语句
Perl 问答
Perl 和 Ruby 的区别