Perl 在字符实体引用处拆分字符串

Perl split string at character entity reference  

快速 Perl 问题,希望有一个简单的答案。我正在尝试对包含不间断空格 ( ) 的字符串执行拆分。这是在使用 HTML::TreeBuilder::XPath 读取 html 页面并检索 $titleString = $tree->findvalue('/html/head/title')

所需的字符串之后
use HTML::TreeBuilder::XPath;
$tree = HTML::TreeBuilder::XPath->new;
$tree->parse_file( "filename" );
$titleString = $tree->findvalue('/html/head/title');
print "$titleString\n";

下面粘贴的是原始字符串,下面是打印的字符串:

Mr Dan Perkins (Active)
Mr?Dan Perkins?(Active)

我试过将 $titleString@parts = split('\?',$titleString); 以及原来的 nbsp 分开,但都没有用。我的直觉是要在某处添加一段简单的编码代码?

HTML代码:

<html>
<head>
<title>Dan&nbsp;Perkins&nbsp;(Active)</title>
</head>
</html>

您不必知道文档中的文本是如何编码的。因此,当文档包含 &nbsp; 时,findvalue returns 是一个实际的不间断 space (U+00A0)。因此,您将使用

split(/\xA0/, $title_string)
   -or-
split(/\x{00A0}/, $title_string)
   -or-
split(/\N{U+00A0}/, $title_string)
   -or-
split(/\N{NBSP}/, $title_string)
   -or-
split(/\N{NO-BREAK SPACE}/, $title_string)