7
我有一個解析環境(Marpa :: R2 :: Scanless),它需要使用單個Perl正則表達式字符類來控制標記化。我有東西來標記,似乎不適合任何現有的字符類。所以,在perlunicode文檔中進行了深入的研究之後,我想出了下面的代碼,除非它不像預期的那樣工作。我期望看到一排點與所有非字母數字(除了parens)交叉點。相反,我得到一個關於無法找到字符類的運行時錯誤。Perl中的自定義字符類5.018
#!/usr/bin/env perl
use 5.018;
use utf8;
local $| = 1;
for my $i (map { chr($_) } 32 .. 127) {
if ($i =~ /\p{Magic::Wow}/) {
print $i;
}
else {
print ".";
}
}
package Magic;
sub Wow {
return <<'MAGIC';
+utf8::Assigned
-utf8::Letter
-utf8::Number
-0028
-0029
MAGIC
}
1;
任何提示,提示,技巧或建議?
謝謝。令人驚喜的是,這樣的小片段可以通過興奮中的裂縫滑落。 – PWBENNETT