DBI oder was anderes?

Hi Leute!

Ich hab da folgendes Problem.
Wie weit ist eigentlich das DBI-Paket verbreitet? Kann man davon ausgehen, das es auf den meißten Homepage-Providern installiert ist? Und ist das DBI::CSV Modul auch immer dabei?

Ich würde nämlich gern ein Programm entwickeln und es anderen kostenlos zur Verfügung stellen. Hab´ aber ganz ehrlich gesagt keinen Bock das Rad zum x. mal neu zu erfinden. Also einen Datenbanktreiber zu programmieren.
DBI würde sich da gut für eignen. Mit dem Modul ::CSV kann ich auch prima in Textdateien umherfummeln. Man bräuchte also keine Datenbank. Aber das alles würde ja nix bringen, wenn die Provider das DBI Paket nicht installiert hätten.

Also meine Frage: Kann man davon ausgehen, dass DBI auf den meißten Providern installiert ist (incl. ::CSV Modul)?
Oder gibt es ein anderes Perl-Script für diesen Zweck, dass ich frei benutzen kann und es mit meiner Software ausliefern darf?

Gibt es eigentlich ein Modul für DBI, womit ich DBM Dateien erzeugen und bearbeiten kann?

Gruß,
Martin

Hallo Martin,

also DBI ist eins der Module, die man als Standard ansehen kann, ob dein Provider es installiert hat weiss man natürlich dadurch noch nicht (Schlund+Partner haben es installiert).

Du kannst Module aber auch in das selbe Verzeichnis wie dein Perl Script installieren. Wie dann genau der Aufruf mit use aussieht musst du dann nachlesen, ich bin mir aber sicher, dass es möglich ist. Entweder muss der use-Befehl oder Perl’s Suchpfad (@INC) angepasst werden.
Schließlich enthält ein Modul auch bloss Perl-Code (der allerdings bestimmte Regeln erfüllen muss).

Von DBI::CSV hatte ich bisher noch nicht gehört, aber grundsätzlich ist es gut, mit Modulen zu arbeiten, in die viele kluge Köpfe Arbeit und Grips investiert haben.

Nun sehe ich gerade, dass meine Windows-Version von Perl ohne DBI daherkommt.
Aber probier doch mal folgendes:
#! /usr/bin/perl
use DBI;
print „Content-type: text/plain\n\n“;
print „Jawoll, hier ist DBI drauf!“;
exit(0);

(ggf. erste Zeile mit Perl-Pfad anpassen)
Wenn du statt der Erfolgsmeldung einen 500er Fehler bekommst, ist das Modul nicht vorinstalliert.

Schönen Gruss
Ingo

Nun sehe ich gerade, dass meine Windows-Version von Perl ohne
DBI daherkommt.
Aber probier doch mal folgendes:
#! /usr/bin/perl
use DBI;
print „Content-type: text/plain\n\n“;
print „Jawoll, hier ist DBI drauf!“;
exit(0);

Hi!

Nuja, bei mir ist DBI ja installiert. Man kann die installierten Module auch über ein einfaches Programm abfragen. Aber das es bei mir installiert ist, bringt mir ja nicht viel, wenn es die anderen User nicht nutzen können.
Ich glaub man kann die verschiedenen Pakete von DBI (also DBI::CSV z.B.) auch in das aktuelle Verzeichnis paken (stand mal irgendwo auf der CPAN Seite), aber dafür müsste wenigstens mal das DBI installiert sein …
mhh… vielleicht hat noch Jemand einein Vorschlag?

Gruß,
Martin

Hi Martin,

Nuja, bei mir ist DBI ja installiert. Man kann die
installierten Module auch über ein einfaches Programm
abfragen. Aber das es bei mir installiert ist, bringt mir ja
nicht viel, wenn es die anderen User nicht nutzen können.
Ich glaub man kann die verschiedenen Pakete von DBI (also
DBI::CSV z.B.) auch in das aktuelle Verzeichnis paken (stand
mal irgendwo auf der CPAN Seite), aber dafür müsste wenigstens
mal das DBI installiert sein …
mhh… vielleicht hat noch Jemand einein Vorschlag?

Also wenn ich Dich richtig verstanden habe, hast Du
das DBI-Modul schon lokal bei Deinem Provider installiert
und weisst nun nicht, wie Du es den Anwendern verfügbar
machen kannst.

Die Einbindung von nicht in den Standardverzeichnissen
installierten Perl-Modulen, erfolgt mit der Bekanntgabe
des eigenen Pfads in dem von den Usern auszuführenden
Perl-Skript per „use lib“:

#!/usr/bin/perl --
use lib '/home/ich/perlmodule'; # Pfad zum eigenen Modul
use DBI; 

Falls Du umfangreichere Perl-Module erst bei Deinem
Provider installieren musst, lies mal http://www.wer-weiss-was.de/cgi-bin/forum/showarchiv…

Hope that helps,
-Andreas.

1 Like

Also wenn ich Dich richtig verstanden habe, hast Du
das DBI-Modul schon lokal bei Deinem Provider installiert
und weisst nun nicht, wie Du es den Anwendern verfügbar
machen kannst.

Nein, leider hast Du mich nicht ganz verstanden.

  1. Kann ich bei meinem Provider nix installieren (bin ja kein root)
  2. ist bei meinem Provider bereits DBI vorinstalliert (incl. dem Zusatzmodul, dass ich gern verwenden möchte)
  3. Möchte ich gern ein Perl-Script schreiben, bei dem ich das DBI verwende
  4. Möchte ich das Programm anderen zur verfügung stellen (andere, die z.B. nicht den gleichen Provider benutzen wie ich)

und meine Frage ist ganz einfach:
Ist DBI bei den meißten Homepageprovidern (z.B. Strato, 1&1, Puretec, … was weiss ich, was es noch alles für Provider gibt) vorinstalliert?

Gruß,
Martin

Hi Martin!
Ein Perl-Script läuft immer auf der Serverseite (also nicht beim Client, dem Webseiten-Besucher) Das Modul muss auch NUR am Server installiert werden. Die Clients brauchen das Modul nicht

-> wenn du was anderes gemeint hast und das eh weißt dann formuliere deine Frage bitte eindeutig

mfG. Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]