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

rosti
 2023-05-14 07:27
#194871 #194871
User since
2011-03-19
3617 Artikel
BenutzerIn
[Homepage]
user image
Werden Bytes, also Zeichen ohne Kodierung der Funktion Encode::encode() übergeben entsteht Datenmüll:
Code (perl): (dl )
1
2
3
4
5
use strict;
use warnings;
use Encode;
my $cc = pack "CC", 195, 164;
print encode "utf8", $cc; # Müll


Mit use bytes; entsteht kein Müll, das heißt, daß in jedem Fall die richtigen Bytes ausgegeben werden auch wenn dieses Pragma nicht gesetzt wurde:
Code (perl): (dl )
1
2
3
4
5
use strict;
use warnings;
my $cc = pack "CC", 195, 164;
use bytes; # mit oder ohne
print $cc; # korrekt


Wegen lesbarem Code und aus anderen Gründen ist also abzwägen zwischen beiden Möglichkeiten. Einen Grund auf das Pragma bytes zugunsten Encode zu verzichten gibt es jedoch nicht.

Artikel ergänzt: http://rolfrost.de/bchar.html

Und die Sonne scheint wieder, schönen Sonntag ;)
http://blog.rolfrost.de/

The art of steam.

View full thread HTML::Parser und substr()