read hört bei nem bestimmten byte auf
guest312
- perl
0 Christian Kruse0 guest0 Struppi
Hi,
dank erwin ist ja jetzt schonmal geklärt, wie ich an die hex-werte einer datei komme.
aber jetzt hab ich bei read ein problem: immer beim byte 1A hört read auf. egal, wo ich das in der datei stehen habe. möglicherweise gibts noch mehr solcher bytes, aber habe bis jetzt keins gefunden. ist das irgendwie ein EOF-Byte?
hier mal mein code-schnipsel dazu:
open(file, "<./file.bin");
my @file;
my $i = 0;
my $temp;
while(read file, $temp, 1)
{
$file[$i] = sprintf("%X", ord $temp);
print "$i:$file[$i]\n";
$i++;
}
woran kann der abbruch liegen? er gibt als letztes das byte vor dem '1A' aus
mfg, martin
Hallo guest312,
aber jetzt hab ich bei read ein problem: immer
beim byte 1A hört read auf. egal, wo ich das in
der datei stehen habe.
Windows? binmode FILE; vergessen? :)
Gruesse,
CK
problem mit hilfe von christian ausm chat gelöst.
binmode FILE;
wirkt manchmal wunder :)
trotzdem danke.
mfg, martin
open(file, "<./file.bin");
Auch wenn du dir jetzt sicher bist, solltest du immer open prüfen, das kann die u.U. stundelange Fehlersuche ersparen:
open(FILE, "<./file.bin") || die "Kann ./file.bin nicht öffnen, weil: $!";
Filehandles sollten mit Grossbuchstaben geschreiben werden, siehe perldoc perlstyle
my @file;
my $i = 0;
my $temp;
while(read file, $temp, 1)
{
$file[$i] = sprintf("%X", ord $temp);
push @file, .... wäre hier wohl effizienter.
Struppi.
P.S. Ach ja, und binmode nicht vergessen
hi Struppi,
Filehandles sollten mit Grossbuchstaben geschreiben werden, siehe perldoc perlstyle
So isses, endlich mal einer von der Alten Garde ;-)
*SCNR, Erwin
use strict; # im Alter erst recht!
hi Struppi,
Filehandles sollten mit Grossbuchstaben geschreiben werden, siehe perldoc perlstyle
So isses, endlich mal einer von der Alten Garde ;-)
hehe, erhlich gesagt hab ich's noch nie gelesen und perldoc benutzt ich auch nicht.
Aber liest sich viel cooler, als zu schreiben guck mal hier oder dort, es gibt Konventionen, die sinnvoll sind.
und grad beim drübergucken merk ich auch, das mein Style anders ist als dort beschrieben
use strict; # im Alter erst recht!
Davon ging ich mal aus (er benutzt my) und natürlich -w (oder use warnings)
Struppi.