如果宽字符错误,Perl 停止打印

标签 perl

我有一个简单的打印脚本

my $pdf_data = $agent->content;
open my $ofh, '>:raw', "test.pdf"
or die "Could not write: $!";
print {$ofh} $pdf_data;
close $ofh;

有时我会收到“宽字符警告”,我知道为什么会收到这个警告,并且希望能够取消打印而不是打印损坏的失败。就像是
if(wideCharWarning)
{
delete "test.pdf"
}
else{
print {$ofh} $pdf_data;
}

最佳答案

如果你想检测你的字符串是否包含宽字符,你可以使用这样的正则表达式:

/[^\x00-\xFF]/;

(正如池上在下面提到的,我的第一个建议是不行的:/[^[:ascii:]]/; 会产生误报)

关于如果宽字符错误,Perl 停止打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10437455/

相关文章:

C:f>0 与 Perl:$f>0?

mysql - 匹配变量,然后通过 Perl 从 Mysql 获取单个值

java - 使用 java 和一些 cmd 操作符通过命令行运行 perl 脚本

windows - 如何在 Windows 上运行 rouge Summarization?

c# - 使用 PerlNET 将 Perl 对象从不同的 Perl 类返回到 C#

perl - “perl -a”可以使用原始空格以某种方式重新加入@F吗?

html - 在 PERL 中使用 SSH 运行 bash 命令

perl - 在启动时启动 perl 脚本

perl - 在使用 perl 包时将参数传递给它

perl - "perl -n"和 "perl -p"有什么区别?