我遇到基本perl脚本的问题。下面是脚本。
$message = "Hello, World!";
print $message;
问题是它打印然后在同一行上有我的用户名命令提示符。我提供了所描述问题的屏幕截图。我只想在脚本中添加换行符。这可能吗?
答案 0 :(得分:10)
我只想在脚本中添加换行符。这可能吗?
是的 - 使用换行符\n
。
my $msg = "Hello World!\n";
注意perl中单引号和双引号之间的区别。以上将使用换行符打印。但是这个:
my $msg = 'Hello World!\n';
最后会打印文字\ n。区别在于双引号字符串是插值:变量和转义序列(如\n
)可以预测地替换。单引号字符串不是,所以:
print '$msg';
还会按字面打印$ msg,而不是变量$msg
的内容。
\n
或多或少是普遍的;我不知道它是否源自C或之前的东西,但它和各种其他反斜杠字符(例如,\t
for tab)对于我所知道的所有语言都是通用的,包括shell。正确的术语实际上是转义序列,因为\
是影响下一个字符解释的escape character。要在interpolated string中打印单个反斜杠,必须先使用转义:
print "\\ <- A single backslash\n";
反斜杠也用作正则表达式中的转义字符。单引号和双引号字符串之间的区别不像反斜杠转义那样通用,但它在其他一些高级语言中使用。