perl html treebuilder没有返回字符串

时间:2011-06-14 17:56:51

标签: perl

当我使用

my ($key, $seperator, $value) = map $_->as_text, $row->content_list;

我得到了非常糟糕的输出。

$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>';

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

1 个答案:

答案 0 :(得分:2)

如果你没有在输出上正确编码你的文字的结果你讨厌的输出。如果您要打印到STDOUT,以下应该可以解决问题:

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

或在Windows上:

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