Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
MightyTuX
- Beiträge: 185
- Registriert: 26.01.2004 18:13:47
- Wohnort: /dev/null
Beitrag
von MightyTuX » 31.08.2005 08:43:40
Moin, ich bin noch ein anfänger in Sachen Perl und CGI aber versuche mich erade damit.
Mein erster Versuch (ein Weblog) ist auch fast vor seiner ersten Fertigstellung. doch nun würde ich gerne die von mir definierten Variablen in ein exterenes Config File schmeissen und zu begin einlesen.
Mit folgenden Code habe ich gedacht ein wenig weiter zu kommen aber das funzt so nicht. Gibt es vielleicht eine einfachere Art wie in PHP wo man einfach ein @include ("config.inc.php") machen kann?
Code: Alles auswählen
my $CONFIGFILE = "blog.cfg";
require "$CONFIGFILE";
open(CONFIG, "<$CONFIGFILE")
or print STDERR "Config File not available at $CONFIGFILE $!";
.
.
.
close (CONFIG);
mfg Mighty
"the box said: "requires windows 98 or better", so is installed Debian
-
harre
- Beiträge: 65
- Registriert: 22.11.2004 18:50:51
- Wohnort: München
Beitrag
von harre » 31.08.2005 09:11:55
Servus,
Ein "require <datei>;" sollte doch genügen, um Variablen im Script zu definieren?
Das "Open..." mußt weglassen, weil du damit die Datei ja nur zum Bearbeiten einliest.
Gruß
Harre
-
MightyTuX
- Beiträge: 185
- Registriert: 26.01.2004 18:13:47
- Wohnort: /dev/null
Beitrag
von MightyTuX » 31.08.2005 09:56:30
Danke für die schnelle Antwort. Das hatte ich auch schon probiert aber irgendwie werden die Variablen die ich dahin auslager nciht eingelesen ....
Code: Alles auswählen
Global symbol "$DBTYP" requires explicit package name at blog.cgi line 18.
Global symbol "$DATABASE" requires explicit package name at blog.cgi line 18.
Global symbol "$HOST" requires explicit package name at blog.cgi line 18.
Global symbol "$USERNAME" requires explicit package name at blog.cgi line 21.
Global symbol "$PASSWORT" requires explicit package name at blog.cgi line 21.
in der Config sind die Variablen so eingetragen ...
Code: Alles auswählen
;
my $DATABASE = 'test';
my $HOST = 'localhost';
my $DBTYP = 'mysql';
my $USERNAME = 'testuser';
my $PASSWORT = 'blablub';
Die gleichen Variablen im cgi selbst führen zu der gewünschten Ausgabe ..
"the box said: "requires windows 98 or better", so is installed Debian
-
godsmacker
- Beiträge: 902
- Registriert: 16.03.2003 21:50:26
- Lizenz eigener Beiträge: Artistic Lizenz
- Wohnort: Chemnitz
-
Kontaktdaten:
Beitrag
von godsmacker » 31.08.2005 10:26:33
Schau Dir doch eines der zahlreichen Config Module im CPAN an. Config::Simple ist vielleicht passend.
-Flo
-
harre
- Beiträge: 65
- Registriert: 22.11.2004 18:50:51
- Wohnort: München
Beitrag
von harre » 31.08.2005 18:26:12
is auch ne Möglichkeit, warum auch alles selberschreiben
es gibt sogar schon "debianisierte" Module
Code: Alles auswählen
apt-cache search libconfigfile-perl
apt-cache search libconfig-simple-perl
vielleicht ist was passendes dabei...
Grüße
Harre
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 31.08.2005 23:52:53
harre hat geschrieben:
vielleicht ist was passendes dabei...
wenn nicht, laß einfach das "my" bei der Variablendeklaration weg, oder verwende "our"
Gruß
gms