原文: https://beginnersbook.com/2017/02/perl-syntax/

我们在上一篇教程“第一个 perl 程序”中熟悉了 Perl 的基础知识。在本教程中,我们将了解有关 Perl 语法和命名约定的几个要点。

Perl 文件命名约定

Perl 文件名可以包含数字,符号,字母和下划线(_),但文件名中不允许使用空格。例如hello_world.pl是一个有效的文件名,但是hello world.pl是一个无效的文件名。

Perl 文件可以使用.pl.PL扩展名保存。

Perl 中单引号和双引号之间的区别

单引号和双引号在 Perl 程序中表现不同。要了解差异,让我们看看下面的代码:

  1. #!/usr/bin/perl
  2. print "Welcome to\t Beginnersbook.com\n";
  3. print 'Welcome to\t Beginnersbook.com\n';

这将产生以下输出:

  1. Welcome to Beginnersbook.com
  2. Welcome to\t Beginnersbook.com\n

您可以清楚地看到双引号内插转义序列\t\n的区别,但是单引号没有。

另一个例子:

  1. #!/usr/bin/perl
  2. $website = "Beginnersbook";
  3. print "Website Name: $website\n";
  4. print 'Website Name: $website\n';

输出:

  1. Website Name: Beginnersbook
  2. Website Name: $website\n

使用单引号

您可能正在考虑避免在 perl 程序中使用单引号,但在某些情况下您可能希望使用单引号。
例如如果要将电子邮件地址存储在变量中,那么双引号会引发错误,在这种情况下需要使用单引号。例如

  1. $ email = "xyz@gmail.com"; # 会抛出错误
  2. $ email = 'xyz@gmail.com'; # 会工作得很好

Perl 中的反斜杠

反斜杠可以执行以下两个任务之一:

1)它消除了跟随它的字符的特殊含义。对于例如打印\$myvar会产生$myvar输出而不是变量myvar值,因为在$之前的反斜杠(\)消除了$的特殊含义

2)它是反斜杠或转义序列的开始。对于例如\n是用于换行的转义序列

有什么用?

相信我,你会在 perl 中开发应用时经常使用它。假设您要打印包含双引号的字符串。对于例如如果我想打印:Hello This is "My blog"然后我需要使用以下逻辑:

  1. #!/usr/bin/perl
  2. $msg = "Hello This is \"My blog\"";
  3. print "$msg\n";

输出:

  1. Hello This is "My blog"