Frank Skorczyk: Auflösung Pascal Extended mit unpack nur in Perl 5.8 möglich

Hallo,

ich habe folgendes Problem:

In einer mit Pascal erzeugten Datei wird ein Teil der Binärdaten mit dem Datentyp
Extended (10 Byte) erzeugt. Dieser entspricht in C dem Datentyp long double.

Um diese Binärdaten in Perl verwenden zu können, werden sie mit unpack("D*",$string) wieder aufgelöst. Die Formatierungsangabe D[n] wurde erst mit Perl 5.8.0 eingeführt.
Auf dem Rechner, wo das Script laufen soll, habe ich leider nur Perl 5.6.1 zur Verfügung. In den älteren Versionen wird D[n] als undokumentierter Alias für d[n] verwendet.

Die Funktionalität des Einlesen der Datei ist in einem Perl-Modul ausgelagert, das ich nicht verändern darf.

Hat jemand eine Idee, wie ich die Konvertierung auf eine andere Art und
Weise lösen kann?

Vielen Dank!

Viele Grüße
Frank

  1. Hi Frank,

    In einer mit Pascal erzeugten Datei wird ein Teil der Binärdaten mit dem Datentyp
    Extended (10 Byte) erzeugt. Dieser entspricht in C dem Datentyp long double.

    grusel - in welchem Jahrhundert wurde denn diese Software geschrieben?
    Hast Du Einfluß auf diese vorsintflutliche Export-Schnittstelle? Oioioi ...

    Die Funktionalität des Einlesen der Datei ist in einem Perl-Modul ausgelagert, das ich nicht verändern darf.

    Ein alternatives (namensgleiches) neu schreiben auch nicht?

    Viele Grüße
          Michael

    --
    T'Pol: I apologize if I acted inappropriately.
    V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
    (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
     => http://www.peter.in-berlin.de/projekte/selfcode/?code=sh%3A|+fo%3A}+ch%3A]+rl%3A(+br%3A^+n4%3A(+ie%3A%25+mo%3A)+va%3A|+de%3A%2F+zu%3A|+fl%3A(+ss%3A)+ls%3A~+js%3A|
    Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.