我遇到了基本 perl 脚本的问题。下面是脚本。
$message = "Hello, World!";
print $message;
问题是它会在同一行打印我的用户名命令提示符。我提供了所描述问题的屏幕截图。我只想在脚本中添加一个换行符。这可能吗?
我只想在脚本中添加一个换行符。这可能吗?
是的 - 使用换行符,\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";
反斜杠也用作正则表达式中的转义字符。单引号和双引号字符串之间的区别不像反斜杠转义那样普遍,但它在其他一些高级语言中使用。