私はいくつかのperlスクリプトを継承しました。 (私はPerlのプログラマーではない)。Perlスクリプトが停止します。エラー:ユニコードプロパティ定義が見つかりません。
私は、このエラーはプログラムの実行を停止させるような下の行
$value =~ s/[^[:\p{ascii}]]//g
にエラー"can't find unicode property definition ascii"
を見ていますか?それはプログラムが停止する前に最後に印刷された行です。
これまでに、同じ行が1,000回以上実行されていました。何が問題なの?
私はそれに向かって傾いています$値の値は問題の原因ではありません。 私はそうですか?
ユニコード定義から{ascii}が削除されたようです。これは、を行うことができますか、間違ったツリーを完全に吠えていますか?
しばらくの間実行してもコードが失敗することは説明できませんが、正規表現は非常に奇妙なようです。 '['と ':'はそれ自体ASCII Unicode文字であるため、それらをまったく言及するのは余分なものであり、正規表現が間違っている可能性があります。間違っていると思われますか?正確であれば、パターンが一致するはずのことを知っていますか? – Borodin
はい、エラーが明示的にキャッチされない限り、 – Borodin
[従来のPOSIX文字クラス '[[:ascii:]]'](http://p3rl.org/recharclass#POSIX-Character-Classes)から '\ p'に変換されたように見えます/ '\ P'私にPerlの表記 – daxim