Perl的文档说$/:
输入记录分隔符,默认为换行符.这影响了Perl关于"线"是什么的想法.
那么,基本上是错误的:
print STDERR $var, $/;
Run Code Online (Sandbox Code Playgroud)
代替:
print STDERR "$var\n";
Run Code Online (Sandbox Code Playgroud)
?
如果我做前者会出现什么问题?
也许您正在寻找输出记录分隔符?
IO::Handle->output_record_separator( EXPR ) $OUTPUT_RECORD_SEPARATOR $ORS $\打印操作员的输出记录分隔符.如果已定义,则在打印的最后一个参数之后打印此值.默认为"undef".
您不能在句柄上调用"output_record_separator()",仅作为静态方法.请参阅IO :: Handle.
助记符:你设置"
$\"而不是\n在打印结束时添加" ".而且,它就像$/,但它是你从Perl"回来"的东西.
例如,
$\ = $/;
print STDERR $var;
Run Code Online (Sandbox Code Playgroud)
$/默认为LF(U + 000A).这与"\n"[1]产生的字符相同.所以,除非你改变$/,$/并且"\n"是等同的.如果的确发生了变化$/,那么只有你知道是什么原因,所以只有你知道$/或者"\n"是比较合适的.
$/默认是CR(U + 000D),但这也是那里"\n"产生的.