Stefan Bach: Problem beim Einlesen von Dateien (Perl)

Hallo!

Ich versuche mit untenstehendem Perl-Script eine Datei einzulesen. Dies funktioniert auch, allerdings bricht das Programm schon ziemlich schnell ab. Dies ist verständlich, da die Datei ein Savegame ist und öfters den HEX-Wert 00 enthält. Wie kann ich die Datei ganz einlesen, um die HEX-Werte zu manipulieren?

Gruß
  Stefan

-----

#!/usr/bin/perl

open(SAVEGAME, "<$ARGV[0]")

while(($Zeichen = getc(SAVEGAME)) ne "")
{
  print "$Zeichen";
}

close(SAVEGAME);

  1. Hallo!

    Ich versuche mit untenstehendem Perl-Script eine Datei einzulesen. Dies funktioniert auch, allerdings bricht das Programm schon ziemlich schnell ab. Dies ist verständlich, da die Datei ein Savegame ist und öfters den HEX-Wert 00 enthält. Wie kann ich die Datei ganz einlesen, um die HEX-Werte zu manipulieren?

    Gruß
      Stefan


    #!/usr/bin/perl

    open(SAVEGAME, "<$ARGV[0]")

    while(($Zeichen = getc(SAVEGAME)) ne "")

    »»  {

    print "$Zeichen";

    »»  }

    Du versuchst offensichtlich eine Binaer Datei ueber Perl
    auf einem Windowsrechner zu oeffnen. In diesem fall musst Du
    dem Handler noch verklickern, dass er die Datei nicht als
    ASCII-File versteht:

    Schreibe vor dem Open:

    binmode  SAVEGAME;

    gruesse

    srm.