📜  编写 Perl 代码的模式

📅  最后修改于: 2022-05-13 01:55:25.938000             🧑  作者: Mango

编写 Perl 代码的模式

Perl 是一种通用、高级解释和动态编程语言。 Perl 支持过程和面向对象的编程。在开始阶段,Perl 只是为了系统管理和文本处理而开发的,但在后来的版本中,Perl 获得了处理正则表达式和网络套接字等的能力。由于 Perl 在语法上与其他广泛使用的语言非常相似,所以它在 Perl 中更容易编码和学习。

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

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

这些模式可以使用 perl 关键字在命令行上运行,也可以在在线 IDE 上以代码块的形式运行。 Perl 还提供了它自己的内置 IDE 以及安装包。

交互模式

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

perl -de1

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

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

Perl 中的交互模式可以在命令行本身上运行,而无需使用 Perl 调试器。这可以使用以下命令来完成:

perl -e Code_statement;

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

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

交互模式有利于初级程序员学习编程基础知识,但是如果您使用的代码多于几行,那么这种模式可能会变得笨拙和乏味。

脚本模式

Perl 中的脚本模式用于编写具有多行代码并且对于交互模式有点复杂的 Perl 程序。 Perl 中的脚本模式可以在文本编辑器的帮助下编写 Perl 程序并将其保存在称为脚本的文件中,然后使用命令行执行保存的文件。此文件必须以 .pl 扩展名保存,并且应放置在与命令行提供目录路径的同一文件夹中。使用以下命令在命令行中进一步运行此脚本:

perl File_Name.pl

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

现在,在命令行中运行以下命令来执行保存为 Perl_program.pl 的脚本

perl Perl_program.pl

输出:

Perl 中的脚本模式与交互模式不同,它不能单独为表达式生成输出。在交互模式下,表达式会被计算并且值会自行显示,但在脚本模式下,表达式将被计算,但在被要求之前不会显示任何结果。

脚本模式也在在线 IDE 中实现,用于编写和执行 perl 代码,而无需手动将它们存储在文件中。在这些 IDE 中,编译后的代码以临时文件的形式存储到内存中,该临时文件仅在代码被执行并且 IDE 在浏览器中打开之前使用。一旦刷新,这个临时文件就被删除,内存中占用的空间被释放。
与将文件存储在系统内存中的脚本模式相比,在线 IDE 使代码的执行更容易,因为它们需要的工作更少。这使得代码编译和执行更快。这些在线 IDE 尽管对程序员来说很容易,但也有一定的限制,例如,这些 IDE 不能执行文件处理操作,除非文件上传到他们的服务器上,这可能会对某些重要数据造成风险。这种文件处理操作可以在命令行编译器上轻松完成。
以下是在线 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 标志告诉编译器代码的脚本不存储在任何类型的文件中,而是在该标志之后立即写入双代码。
例子:

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

这些单行代码对于快速进行更改(例如查找信息、更改文件内容等)非常有用。一些程序员避免使用单行代码,因为当脚本有点冗长时它们可能会变得笨拙。虽然有些程序员喜欢这样做,因为单行代码比脚本更快,因为不需要将它们存储到文件中。