ドキュメンテーションによると、スレッドセーフではありませんencoding
モジュールthreads
とperl 1.18から非推奨です。私はWindows 7マシンでperl 5.16を使用します。私はWindows 866エンコーディングに出力を変換する必要があります。スレッドを実行しようとすると、以下のコードインタプリタがクラッシュします。 binmode(STDOUT, ':cp866');
なしスレッドセーフなSTDOUTエンコーディングをPerlでどのように設定できますか?
use utf8;
binmode(STDOUT, ':encoding(cp866)');
use threads;
my $thr = threads->create(sub {
print "поток работает";
})->detach();
sleep 1;
print "основной поток также работает";
、私は「印刷中にワイド文字」エラーとテキストが正しくない文字コードで示しています。だから私は正しくエンコーディングを設定する必要がありますか?