Thread Wide character in Compress::Raw::Zlib::crc32 (16 answers)
Opened by John Doe at 2011-05-23 12:50

Gast John Doe
 2011-05-23 12:50
#149043 #149043
Ich bastele derzeit an einem kleinen Webparser, der bestimmte Dateien nach bestimmten Kriterien speichern soll - wenn sie noch nicht gespeichert wurden. Um letzteres zu prüfen, lasse ich die CRC32 berechnen und vergleiche sie mit den CRCs der vorher gespeicherten Seiten.

CRC berechne ich wie folgt ($content wird von WWW::Mechanize mit $mech->content() ausgespuckt):
Code: (dl )
1
2
use Compress::Raw::Zlib;
my $crc = sprintf( "%x", Compress::Raw::Zlib::crc32( $content ) );


Damit erhalte ich "Wide character in Compress::Raw::Zlib::crc32 at D:/Programme/Perl/lib/Archive/Zip.pm line 303." und das Script kapituliert. Nach einigem Lesen über Zeichen- und Byte-Semantik kam ich auf "use bytes;":
Quote
The use bytes pragma disables character semantics for the rest of the lexical scope in which it appears.


So weit so gut, nur das:
Code: (dl )
1
2
3
4
5
my $crc;
{
use bytes;
$crc = sprintf( "%x", Compress::Raw::Zlib::crc32( $content ) );
}

bringt mir immer noch den Fehler.

Funktioniert "use bytes;" jetzt nicht so, wie ich es erwartet habe, oder habe ich einen anderen Denkfehler?
Last edited: 2011-05-23 12:57:50 +0200 (CEST)

View full thread Wide character in Compress::Raw::Zlib::crc32