storable

___ answer4342437 ___

Entschuldigung, ich dachte, ich hätte das aktualisiert.

Ich habe Perl5-Träger gefragt und Antworten auf die Frage bekommen.

Ich habe das Update nicht implementiert, da ich es nicht im Test replizieren kann, also möchte ich nicht zu meiner Produktionsumgebung wechseln, meine Arbeit ist im Moment sicherer.

Das Abschneiden ist definitiv eine gute Idee, basierend auf den Antworten von perl5-porters.

Ich wusste nicht, dass jemand eine Frage zu meiner Frage gestellt hat (oder könnte!).

    
___ qstntxt ___

In meiner Produktionsumgebung haben wir das gehabt, was wir glauben korrupter speicherbarer Hash, erstellt von Storable.pm. Ich bin nicht in der Lage, das Verhalten in Dev zu replizieren, was es schwierig gemacht hat, genau zu diagnostizieren.

Der Code hat lange gearbeitet, und die Änderung, die es gemacht hat Pause löschte aus dem Hash. Bis vor kurzem auch das Hash blieb gleich groß oder wuchs.

Die Datei wird in readwrite geöffnet, und dann schreibt store_fd in die Datei. Da der Hash jetzt (manchmal) kleiner ist, wird er 1000 Byte schreiben diese 2000-Byte-Datei. Die Tail-1000-Bytes sind alte Mülldaten. In meinem Testfälle, wenn ich den Hash abrufen, werden die Mülldaten ignoriert, als erwartet.

%Vor%

Meine Fragen:

  1. Sollte das funktionieren oder ist es so? zwingend, dass ich die Datei abschneide?
  2. Verwendet der gespeicherte Hash eine Art? von Dateiabschlusszeichen? Wenn ja, Was ist es?
  3. Der obige Code, Löschen und Hinzufügen und Löschen und Hinzufügen, Funktioniert perfekt in meinem Testfall. Kann Sie schlagen eine Testfallsequenz vor das könnte dazu führen, dass es aufgrund von fehlschlägt die nicht abgeschnittene Datei? (Ich weiß das ist eine sehr vage Frage, also fühle frei, es zu ignorieren).
___ tag123perl ___ Perl ist eine prozedurale, allgemeine Programmiersprache für allgemeine Zwecke, die für ihre native Unterstützung von regulären Ausdrücken und String-Parsing-Funktionen bekannt ist. Bitte verwenden Sie diesen Tag für Fragen zu Perl im Allgemeinen. Für Dinge, die mit der neuen (aber verwandten) Sprache "Perl 6" zu tun haben, verwenden Sie bitte das perl6-Tag. Verwenden Sie für reguläre Ausdrücke nach Perl-Art in anderen Sprachen das Regex-Tag oder, falls sie auf der PCRE-Bibliothek basieren, das PCRE-Tag. ___ answer4341385 ___

Ich weiß nicht, wie gut %code% mit nachkommendem Müll umgehen kann, aber es kann nicht schaden,

hinzuzufügen %Vor%

nach dem Aufruf von %code% , beseitigt alle Zweifel darüber, ob es jetzt und in Zukunft damit umgehen kann.

    
___ tag123hash ___ Eine Hash-Funktion ist eine wohldefinierte Prozedur oder mathematische Funktion, die eine große Datenmenge in ein kleines Datum umwandelt, normalerweise eine ganze Zahl. Bei Fragen zum Twitter- und Facebook-Symbol verwenden Sie den Hashtag. Bei Fragen zu URLs und HTML-Ankern verwenden Sie die Fragment-ID. Bei Fragen zu Rubys Hash-Typ verwenden Sie Ruby-Hash. ___ tag123speichern ___ hilf uns dieses Wiki zu bearbeiten ___ qstnhdr ___ Storable.pm - beim Speichern in nicht abgeschnittene Datei beschädigt ___
2
Antworten

Storable.pm - beim Speichern in nicht abgeschnittene Datei beschädigt

In meiner Produktionsumgebung haben wir das gehabt, was wir glauben korrupter speicherbarer Hash, erstellt von Storable.pm. Ich bin nicht in der Lage, das Verhalten in Dev zu replizieren, was es schwierig gemacht hat, genau zu diagnostizieren....
24.11.2010, 01:02