我想打印出字符串的原始文本,而不插入特殊字符。所以,例如,如果我的字符串是array_splice()
,我想打印它,而不是
Dim ctl As Control
For Each ctl In Me.Controls
Debug.Print TypeName(ctl)
If TypeName(ctl) <> "ComboBox" Then ' <-- check if control is not a Combo-Box
Debug.Print ctl.Name
If ctl.Name <> "SrchVal" Then
ctl.Enabled = False
End If
End If
Next ctl
字符串存储在一个变量中,我不使用文字,因此它不仅仅是单引号与双引号的问题(我不认为)。我怎么能这样做?
答案 0 :(得分:5)
Data::Dumper
的正确咒语将会这样做。
use Data::Dumper;
$Data::Dumper::Terse = 1;
$Data::Dumper::Useqq = 1;
$foo = "hello
there";
print Dumper $foo; # "hello\nthere"
答案 1 :(得分:1)
我想打印出字符串的原始文本,而不插入特殊字符。
这不可能。
解析字符串时,解释\n
之类的转义序列(不是#34;插值&#34;)。字符串来自的源代码(&#34;原始文本&#34;)不会被解释器存储,因此无法检索它。
像Data::Dumper
这样的工具可以通过自动将控制字符替换为等效的转义序列来生成类似于源代码的可能的字符串,但这可能与原始来源代表。例如,不必要的反斜杠(如"this\ example"
)不会出现在转储表示中,并且转义字符的非标准表示(如"\x0a"
的{{1}})将替换为标准的。
答案 2 :(得分:0)
这可能会有所帮助
#!/usr/bin/perl
$str="hello\nthere";
$str =~ s/\n/\\n/;
print "$str\n";
输出:
hello\nthere