Die Frage nach der nicht vorhandenen relationalen Datenbank:
In so einem Fall sind die Daten oft einfach strukturiert.
Meistens schreibe ich da ganz primitiv:
name1="wert1" name2="wert2"\n
Da kann ich es auch manuell wieder lesen. Dann parse ich die Daten über einen regulären Ausdruck einfach wieder rein. Das geht auch ziemlich schnell. Oder ich nehme Text::CSV, dann kann man sich das gut mit Excel anschauen. Die Frage nach der Manipulation hat sich bei mir noch nicht so gestellt, weil das oft durch die Rechte an der Datei formuliert ist.
Das mit der Datei und den kritischen Daten sehe ich so:
Die Frage ist immer, wo steht die Datei und was ist an der anders als an der Scriptdatei selbst. Wenn sie für Außenstehende gleich schwer zu erreichen ist, dann ist kann man natürlich genau so auch Dein Perl-Script manipulieren. Speicherst Du sie an einem öffentlichen Ort, würde ich je nach Sicherheitsanforderungen, beim Einlesen etwas genauer prüfen. Prüfen - da wäre doch eine angehängte Prüfsumme (MD5 o.ä.) ganz nett. Jedenfalls würde es vor gröberen Manipulationen schützen.
Für strukturierte Daten nehme ich gern XML aber eigentlich nur, weil es ein gängiges Format ist.
Aber ich habe mal gelesen, daß @Strat auch mit Storable serialisierte Strukturen in eine Datenbank ablegt. Wenn man nur mit sich selbst kommuniziert, glaube ich, ist da die Scheißegalbedingung aktiv.
$SIG{USER} = sub {love 'Perl' or die};