Es ist für den Einsatz in dem Fall, dass Sie immer wieder Stücke von Daten zu encode
oder decode
sind vorbei. Die Idee ist, dass die Funktion den Teil der Zeichenfolge entfernt, den sie übersetzt hat, und Sie müssen nur den nächsten Teil an den Rest anhängen. Es ist nützlich für die Verarbeitung von Multi-Byte-Codierungen, die über zwei Chunks aufgeteilt werden können.
Wenn Sie dieses Verhalten nicht möchten, dann können Sie ODER das Encode::LEAVE_SRC
Bit in den dritten Parameter. Gefallen Sie diesen
use utf8;
use strict;
use warnings;
use Encode qw/ encode decode FB_CROAK LEAVE_SRC /;
use Data::Dump;
my $decoded = 'ABC';
dd $decoded;
my $encoded = encode('UTF-8', $decoded, FB_CROAK | LEAVE_SRC);
dd $decoded;
dd $encoded;
Ausgang
"ABC"
"ABC"
"ABC"