Кодирование binmode: обработка искаженных данных

С Encode::encode Существуют разные способы обработки искаженных данных.

Делает для binmode как binmode STDOUT ":encoding( $encoding_out )" также существуют возможности для обработки искаженных данных?

1 ответ

Решение

Да есть $PerlIO::encoding::fallback, Вы можете назначить требуемый аргумент "check" этой переменной. Когда вы затем помещаете слой PerlIO в дескриптор файла, текущее значение из этой переменной сохраняется для поведения сбоя этих слоев. Например:

use PerlIO::encoding;
use Encode;

# set a value
$PerlIO::encoding::fallback = Encode::FB_WARN;
# apply a layer under that value
open my $fh, '<:encoding(UTF-8)', $some_file or die ...;
# $PerlIO::encoding::fallback can be changed now
Другие вопросы по тегам