Perl解释器:将'\ n'转换为换行符?

时间:2013-11-21 23:04:10

标签: perl

我在perl中有一个程序,它从控制台传递一个字符串。如果我从控制台传递字符串\ r \ n,它会按原样执行并按字面意思将\ r \ n存储到控制台参数中,因为它是这样创建的:

my $str = '\r\n';

如何将$ str变成CRLF?例如;我怎么做

my $str = '\r\n';

my $str = "\r\n"; #<--- perl converts \r\n into a carriage return & line feed.  

如何强制perl将从控制台传递的字符串转换为CRLF?

如果我不够清楚,让我举个例子:

my ($arg1, $arg2) = @ARGV;
print $arg1 . $arg2;

假设$arg1已通过'Hello\r\n'$arg2已通过'World!',则当我要打印Hello\r\nWorld!时,它会打印Hello(newline)World!

1 个答案:

答案 0 :(得分:8)

您可以使用String::Escape中的unbackslash功能执行此操作:

use String::Escape qw( unbackslash );

my $str = 'Hello\r\nWorld\r\n';

print unbackslash($str);