perl6 Malformed UTF-8 导致程序崩溃
perl6 Malformed UTF-8 causes program crash
我正在尝试下载一个网页;然后用正则表达式分析它;然后获取正则表达式发现的文件。我有 2 个问题:
(1)我用wget
下载网页和文件,使用这一行
my $webPage = "onePage";
my $result = run <<wget -O $webPage $aSite>>, :out, :err;
其中 $webPage
是 wget
的输出文件。问题:任何与 wget 等效的 perl6?我使用了 perl6 网站上的模块 URI::FetchFile
;它获取了一些文件,但它无法获取网页。
(2) wget 下载的 $webPage 有时包含格式错误的 UTF-8 字符,导致我的程序崩溃。当我这样做时
cat onePage
从 shell 开始,那些格式错误的 UTF-8 字符显示为 blob,此命令导致与我的程序相同的错误:
cat onePage | perl6 -ne '.say;'
perl6 的错误输出是
Malformed UTF-8
in block <unit> at -e line 1
并且在终端或 shell 上,格式错误的 UTF-8 字符之一显示为这样的 blob:
h�lt
如果我尝试删除非打印字符,结果是我错过了大量文件链接:
$tmpLine ~~ s/<-[print]>//; # this causes my program to miss many files
如何最好地处理这些格式错误的 UTF-8 字符或任何格式错误的 unicode 甚至格式错误的控制字符?
Any perl6 equivalent to wget?
有几个。 HTTP::Agent
is now considered the more up-to-date, but you can also use LWP::Simple
.
How do I best handle these malformed UTF-8 chars or any malformed unicodes or even malformed control chars ?
您可能想尝试 UTF8-C8
编码。但是如果你直接从 perl6 程序中获取页面,这可能不是问题。
然而,崩溃是完全不同的事情。最好是创建一个Rakudo issue
我正在尝试下载一个网页;然后用正则表达式分析它;然后获取正则表达式发现的文件。我有 2 个问题:
(1)我用wget
下载网页和文件,使用这一行
my $webPage = "onePage";
my $result = run <<wget -O $webPage $aSite>>, :out, :err;
其中 $webPage
是 wget
的输出文件。问题:任何与 wget 等效的 perl6?我使用了 perl6 网站上的模块 URI::FetchFile
;它获取了一些文件,但它无法获取网页。
(2) wget 下载的 $webPage 有时包含格式错误的 UTF-8 字符,导致我的程序崩溃。当我这样做时
cat onePage
从 shell 开始,那些格式错误的 UTF-8 字符显示为 blob,此命令导致与我的程序相同的错误:
cat onePage | perl6 -ne '.say;'
perl6 的错误输出是
Malformed UTF-8
in block <unit> at -e line 1
并且在终端或 shell 上,格式错误的 UTF-8 字符之一显示为这样的 blob:
h�lt
如果我尝试删除非打印字符,结果是我错过了大量文件链接:
$tmpLine ~~ s/<-[print]>//; # this causes my program to miss many files
如何最好地处理这些格式错误的 UTF-8 字符或任何格式错误的 unicode 甚至格式错误的控制字符?
Any perl6 equivalent to wget?
有几个。 HTTP::Agent
is now considered the more up-to-date, but you can also use LWP::Simple
.
How do I best handle these malformed UTF-8 chars or any malformed unicodes or even malformed control chars ?
您可能想尝试 UTF8-C8
编码。但是如果你直接从 perl6 程序中获取页面,这可能不是问题。
然而,崩溃是完全不同的事情。最好是创建一个Rakudo issue