4

我遇到了基本 perl 脚本的问题。下面是脚本。

$message = "Hello, World!";
print $message;

问题是它会在同一行打印我的用户名命令提示符。我提供了所描述问题的屏幕截图。我只想在脚本中添加一个换行符。这可能吗?

在此处输入图像描述

4

1 回答 1

11

我只想在脚本中添加一个换行符。这可能吗?

是的 - 使用换行符,\n.

my $msg = "Hello World!\n";

注意 perl 中单引号和双引号之间的区别。以上将用换行符打印。但是这个:

my $msg = 'Hello World!\n';

将在末尾打印文字 \n 。不同之处在于双引号字符串是内插的:变量和转义序列如\n可预测地替换。单引号字符串不是,所以:

print '$msg';

还将按字面意思打印 $msg,而不是变量的内容$msg

\n或多或少是普遍的;我不知道它是否起源于 C 或之前的东西,但它和其他各种反斜杠字符(例如,\t用于制表符)对于我所知道的所有语言都是通用的,包括 shell。正确的术语实际上是转义序列,因为转义字符\会影响下一个字符的解释。为了在插值字符串中打印单个反斜杠,您必须首先使用转义:

print "\\ <- A single backslash\n";

反斜杠也用作正则表达式中的转义字符。单引号和双引号字符串之间的区别不像反斜杠转义那样普遍,但它在其他一些高级语言中使用。

于 2013-10-03T10:03:25.367 回答