Ich bin ein Anfänger. Ich brauche Grundkenntnisse darüber, wie Daten unter Perl gespeichert und gelesen werden sollen. Sagen Sie, um einen Hash und ein Array zu speichern. Welches Format (Erweiterung) der Datei sollte verwendet werden? txt? Bisher kann ich nur alle Dinge als String print FILE %hash
speichern und sie als String print <FILE>
zurücklesen. Was soll ich tun, wenn ich meine Funktion Hash- und Array-Eingaben aus einer Datei benötige. Wie man sie zu Hash und Array zurückbringt?
Sie suchen nach Daten Serialisierung . Beliebte Optionen, die robust sind, sind Sereal , JSON < a href="http://p3rl.org/JSON::XS"> :: XS und YAML :: XS . Weniger bekannte Formate sind: ASN.1 , Avro , BERT , BSON , CBOR , JSYNC , MessagePack , Protokollpuffer , Sparsamkeit .
Andere oft erwähnte Optionen sind Storable und Daten :: Dumper (oder ähnlich) / eval
, aber ich kann sie nicht empfehlen, da das Storable-Format Perl-abhängig ist und eval
unsicher ist, weil es willkürlichen Code ausführt. Ab 2012 ist der Parsing-Counter-Part Data :: Undump noch nicht weit fortgeschritten. Ich kann auch nicht die Verwendung von XML empfehlen, da Perl-Datentypen nicht gut zugeordnet werden und es mehrere konkurrierende / inkompatible Schemas gibt, wie zwischen XML und Daten zu übersetzen ist.
Codebeispiele (getestet):
%Vor% %Vor%Der nächste Schritt von hier ist Objektpersistenz .
Lesen Sie auch: Serialisierer für Perl: wann was verwenden soll
Dies hängt wirklich davon ab, wie Sie Ihre Daten in Ihrer Datei speichern möchten. Ich werde versuchen, etwas grundlegenden Perl-Code zu schreiben, damit Sie eine Datei in ein Array lesen oder einen Hash in eine Datei schreiben können.
%Vor%Wenn Sie neu sind, schlage ich nur make vor, um aus array / hash mit join () zu stringeln, und sie schreiben es mit "print" und lesen und benutzen dann split () um array / hash erneut zu machen. Das wäre einfacher, als würde Perl Lehrbuchbeispielen beibringen.