[ Perl ] 如何打印字符串的原始字符(字面量)
https://www.cnblogs.com/yeungchie/
有时候需要将字符串的字面量打印出来,即不转义字符串中的转义字符,例如:
my $str = function_xxx();
从某个接口获取到字符串,现在假设
$str
取到的数据是"a\nb\nc\n"
。
简单打印一下:
print $str;
结果会显示:
a
b
c
如果我希望打印出来的结果是下面的样子,应该怎么做呢?
"a\nb\nc\n"
使用模块
use Data::Dumper;
定义一个函数
sub rawStr {
local $Data::Dumper::Terse = 1; # 精简输出
local $Data::Dumper::Useqq = 1; # 双引号表示字符串,且会处理特殊字符
chomp ( my $raw = Dumper shift );
return $raw
}
使用例程
print &rawStr( $str );
"a\nb\nc\n"
参考资料
拓展
- Skill 中打印字符串字面量
str = "a\nb\nc\n"
printf( "%A" str )
; "a\nb\nc\n"