我在perl中有一个程序,它从控制台传递一个字符串.如果我从控制台传递字符串\ r \n,它确实为它应该从字面上店\ r \n到控制台的参数,因为它是像这样创建的:
my $str = '\r\n';
Run Code Online (Sandbox Code Playgroud)
如何将$ str变成CRLF?例如; 我该怎么做
my $str = '\r\n';
Run Code Online (Sandbox Code Playgroud)
成
my $str = "\r\n"; #<--- perl converts \r\n into a carriage return & line feed.
Run Code Online (Sandbox Code Playgroud)
如何强制perl将从控制台传递的字符串转换为CRLF?
如果我不够清楚,让我举个例子:
my ($arg1, $arg2) = @ARGV;
print $arg1 . $arg2;
Run Code Online (Sandbox Code Playgroud)
假设$arg1已通过'Hello\r\n'并$arg2通过'World!',它将Hello\r\nWorld!在我希望打印时打印Hello(newline)World!
您可以使用String :: Escape中的unbackslash函数执行此操作:
use String::Escape qw( unbackslash );
my $str = 'Hello\r\nWorld\r\n';
print unbackslash($str);
Run Code Online (Sandbox Code Playgroud)