Modul zur Datenverwaltung
Peter Kaufmann
- perl
0 Andres Freund0 timothy
Morgen allerseits,
vielleicht hat der ein oder andere schon mal das selbe Problem gehabt hat und kann mir einen Tipp geben:
Ich suche ein Perl Modul das mir ein einfaches Interface zu Datensätzen, welche in einer "normalen" Datei gespeicherten werden sollen, bereitstellt.
Vom Funktionsumfang her brauche ich Funktionen zum anlegen, updaten, löschen und auslesen eines bzw. meherer Datensätze.
Die Randbedingungen:
Ich hatte zuerst - insbesondere aufgrund des zweiten Punktes - an eine Lösung mit XML gedacht. Leider habe ich aber noch nichts passendes gefunden. Die Forumssuche funktioniert ja leider nicht und bei der CPAN Suche habe ich anscheinend nicht die richtigen Fragen gestellt ;-)
Guten n8,
Peter
p.s.: Ich habe in meiner jugendlichen Naivität zuerst probiert selbst ein Modul zu schreiben, daß den benötigten Funktionsumfang bereitstellt. Leider ist die Aufgabe aber doch schwieriger als ich dachte: Insbesondere das Vernünftige updaten und löschen von Datensätzen ist nicht trivial.
Hi,
Ich hatte zuerst - insbesondere aufgrund des zweiten Punktes - an eine Lösung mit XML gedacht. Leider habe ich aber noch nichts passendes gefunden. Die Forumssuche funktioniert ja leider nicht und bei der CPAN Suche habe ich anscheinend nicht die richtigen Fragen gestellt ;-)
Ich würde mich mal nach "xml" und "pureperl" erkundigen. Einige Module gibt es nämlich auch in einer derartigen Version. Diese müsstest du theoretisch auch ohne root-Rechte installieren können. Ich khabs allerdings noch nie probiert, und weiß nicht ob es wirklich funktioniert. Auf jeden Fall, ist es auf diese weise schwieriger.
p.s.: Ich habe in meiner jugendlichen Naivität zuerst probiert selbst ein Modul zu schreiben, daß den benötigten Funktionsumfang bereitstellt. Leider ist die Aufgabe aber doch schwieriger als ich dachte: Insbesondere das Vernünftige updaten und löschen von Datensätzen ist nicht trivial.
Ich finde, dass gent noch. Aber das einigermaßen speicherschonend _und_ performant hinzubekommen, ist extrem schwierig.
Man kann einfach eine ein komplexere Datenstruktur aufbauen, die ganzen Daten einlesen, und Zugriffsfunktionen basteln. Danach schreibt man das ganze wieder in eine Datei. Ist halt nur sehr langsam.
Grüße und viel Erfolg
Andres Freund
Hi Peter,
Die Randbedingungen: 2 und 3
"schreien" ja förmlich nach .csv - Files. In Verbindung mit SQL (DBD/DBI-Module) sollte dies alles recht problemlos lösbar sein.
Schau dich mal nach CSV / DBI SQL im CPAN um.
Und hier noch ein kleiner Link auf einen Artikel, der eine kurze Einführung in die Materie bringt.
http://www.linux-magazin.de/Artikel/ausgabe/1999/05/DBflat/dbflat.html
- Ich habe auf dem Server, auf dem das fertige Script laufen soll, leider keine root Rechte und muß deshalb Module als normaler Benutzer "installieren".
Und auch dies sollte eigentlich kein Problem darstellen. Du kannst sämtliche Module auch "privat" installieren und mußt in deinem Perl-Script nur darauf hinweisen, wo _noch_ nach Modulen zu suchen ist.
Auch dazu ein Link
http://www.linux-magazin.de/Artikel/ausgabe/1999/11/Local/local.html
Bye
Timothy
Hallo timothy,
vielen Dank für die sehr interessanten Links. Ich denke mit dem vorgestellten Modulen müsste es klappen. Allerdings hatte ich bei einem lokalen Testlauf als User Probleme die Module zu installieren. Das Problem werde ich aber schon noch lösen - oder halt doch den Admin ganz lieb bitten ;-)
Grüße,
Peter
Moin Moin !
Du kannst Perl-Module auch für nur einen User installieren, das geht über das CPAN-Modul (hab ich allerdings dank root-Password noch nie gemacht):
perl -MCPAN -e shell
Vorher vielleicht mal die Doku zum CPAN-Modul lesen: http://www.perldoc.com/perl5.8.0/lib/CPAN.html#FAQ
In den Scripten, die Deine "privaten" Module benötigen, ist dann noch eine Extra-Zeile fällig:
use lib '/home/peter_kaufmann/lib/perl5'; # oder wo auch immer "Deine" Module liegen
Alexander
Hi
Du kannst Perl-Module auch für nur einen User installieren, das geht über das CPAN-Modul (hab ich allerdings dank root-Password noch nie gemacht):
perl -MCPAN -e shell
Vorher vielleicht mal die Doku zum CPAN-Modul lesen: http://www.perldoc.com/perl5.8.0/lib/CPAN.html#FAQ
hierfür gibt es einen interessanten Artikel:
http://www.linux-magazin.de/Artikel/ausgabe/1997/10/CPAN/cpan.html
Bye
Timothy