ich versuche gerade „meine“ Seitenzähler (geschrieben in Perl) von einen Provider auf den anderen zu transferieren. Vorher liefen sie, nun steigt das Programm aus bei der Zeile:
dbmopen (%Counter, $DATABASE, 0666) ||
die „dbmopen ‚$DATABASE‘: $!“;
Ich verstehe dies als eine Abfrage, ob die Zugriffsrechte auf die Datenbasis auf 666 gesetzt sind (sind sie!). Kann mir jemand sagen, ob das stimmt? Und was dbmopen bedeutet?
Und was bedeuten die Befehle
$BASEDIR = $ENV{‚DOCUMENT_ROOT‘};
und
$id = $ENV{‚QUERY_STRING‘};
(Daß $ eine skalare Variable einleitet, habe ich verstanden, aber was bedeuten diese $ENV{…}- Befehle?
Ich bin natürlich dabei, mich durch die Perl-Manpages zu forsten, aber diese Fragen habe ich dort noch nicht beantwortet gefunden. Wäre nett, wenn es mir jemand erklären könnte.
dbmopen (%Counter, $DATABASE, 0666) ||
die „dbmopen ‚$DATABASE‘: $!“;
Was dbmopen heisst, weiss ich leider auch nicht genau. Vermutlich wird hier auf eine Datenbank zugegriffen. Wenn dein neuer Provider diese DB nicht unterstützt, dann kann das nicht funktionieren.
Und was bedeuten die Befehle
$BASEDIR = $ENV{‚DOCUMENT_ROOT‘};
und
$id = $ENV{‚QUERY_STRING‘};
%ENV ist eine Hash-Variable, die die Environmentvariablen enthält. Mit
$ENV{'KEY'}
kann man den Wert einer solchen Variable abfragen. Z.B enthält
$ENV{'QUERY\_STRING'}
die Parameter, die beim Aufruf des Scripts übergeben wurden.
Wenn du
print %ENV;
in dein Script einfügst, kannst du dir alle Environmentvariablen ansehen. (nicht sehr übersichtlich, aber es geht)
Ich bin natürlich dabei, mich durch die
Perl-Manpages zu forsten, aber diese
Fragen habe ich dort noch nicht
beantwortet gefunden. Wäre nett, wenn es
mir jemand erklären könnte.