perl的HTML TreeBuilder作为没有返回字符串

问题描述:

我得到可怕的讨厌的输出反馈。perl的HTML TreeBuilder作为没有返回字符串

$VAR1 = 'Numberáofásourceálines'; 
$VAR2 = 'á23182'; 
$VAR3 = 'Htmlágeneratedáat'; 
$VAR4 = 'áMonáJuná13á11:06:46á2011'; 
$VAR5 = 'Coverageáview'; 
$VAR6 = 'áAsáinstrumented'; 
$VAR7 = 'Symboláfile(s)'; 

如果我尝试as_html它更不错,但需要得到解析...

$VAR1 = '<td class="red">TER</td>'; 
$VAR2 = '<td class="red">&nbsp;<strong>43%</strong>&nbsp;(function)</td>'; 
$VAR3 = '<td class="black">Threshold&nbsp;percent</td>'; 
$VAR4 = '<td class="black">&nbsp;<strong>100</strong>&nbsp;%</td>'; 
$VAR5 = '<td class="black">Number&nbsp;of&nbsp;source&nbsp;lines</td>'; 
$VAR6 = '<td class="black">&nbsp;23182</td>'; 

编辑 未知PerlIO的层 '编码(cpActive' 在myscript.pl线27 未知PerlIO的层“ code at'myscript.pl line 27 未知的PerlIO层'页面:'在myscript.pl第27行 未知的PerlIO层'437)'在myscript.pl第27行 找不到编码“cpActive:code:page::437”在C:/Perl/lib/open.pm 120行。 在C:/Perl/lib/open.pm 128行找不到编码“cpActive:code:page::437”。

+3

'as_text'正在恢复完全正确的事情,但你设法曼格莱编码的地方,并将'U + 00A0无间隔空间'转换为'U + 00E1拉丁文小字母A与急性' – hobbs 2011-06-14 18:09:00

+0

我不生成我在这里阅读的html文件,应该在阅读前更改编码吗? – user391986 2011-06-14 22:15:49

如果您的输出结果没有正确编码输出的文本,您的讨厌输出。如果你打印到标准输出,下面应该做的伎俩:

use open ':std', ':locale'; 

或Windows:

sub acp { my ($cp) = `chcp` =~ /([0-9]+)/; $cp } 
use open ':std', ':encoding(cp'.acp().')'; 
+0

嘿,谢谢,但似乎无法得到它在Windows上工作,请参阅编辑 – user391986 2011-06-14 22:16:28

+0

我最终做$ testValue =〜s/\ x {a0} // g;那不好吗?这是我做转储时显示的价值。 – user391986 2011-06-14 23:37:17

+0

@ user391986,*耸肩*,无论你想要什么。不过,您仍然需要对输出进行适当的编码。 – ikegami 2011-06-15 00:08:58