Thread HTML::Parser und substr() (46 answers)
Opened by GwenDragon at 2023-05-09 13:09

Linuxer
 2023-05-14 11:20
#194874 #194874
User since
2006-01-27
3882 Artikel
HausmeisterIn

user image
Wenn man Werkzeuge falsch einsetzt, entsteht oft "Müll".
IMHO ist Encode::encode() hier falsch eingesetzt. Dann ist klar, dass hier scheinbar Datenmüll entsteht.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use strict;
use warnings;
use Encode qw( encode decode);
use 5.010;

# Byte Sequenz
my $cc = pack "CC", 195, 164;

# übernehme die Bytesequenz als utf8 kodierte Daten
# encode() ist hier falsch! Siehe auch: https://metacpan.org/pod/Encode#TERMINOLOGY + https://metacpan.org/pod/Encode#encode + https://metacpan.org/pod/Encode#decode
my $uu = decode('UTF-8', $cc);

# Schalte Ausgabekanal auf utf8
binmode(*STDOUT, 'utf8');

# Terminal auf utf8 schalten; weil dieser Test auf Windows gemacht wurde, gleich eingebaut
system("chcp 65001");

# Gebe das UTF8 Zeichen aus
say $uu;  # kein Müll


Und zur Verwendung von CPAN:bytes:

Die Schreiber von CPAN:bytes werden sich ganz sicher da was bei gedacht haben, dass sie die zuvor diskutierte Warnung dazu geschrieben haben.
Und sorry, ich würde mehr auf deren Aussage vertrauen als auf Deine Ausführungen.
Last edited: 2023-05-14 16:04:04 +0200 (CEST)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread HTML::Parser und substr()