Schrift
[thread]7803[/thread]

Variablen in Konfigurationsdatei: Variablen extern definieren

Leser: 1


<< >> 8 Einträge, 1 Seite
mättu
 2006-03-18 11:33
#63868 #63868
User since
2004-12-12
30 Artikel
BenutzerIn
[default_avatar]
Hallo Perlfreunde

Ein Faulheitsproblem:
Ich hab ein Programm, welches Werte aus einer Textdatei bezieht.
Ich möchte keinen komplizierten Parser brauchen/schreiben, sondern so was machen:

"einstellungen.txt":
$meine_erste_variable = "hallo"
@ein_array = ("1", "5", "8")
usw.

Im Programm "faulheit.pl" sollen dann die Variablen ohne grossen Aufwand importiert werden.

Das geht sicher ganz einfach. Ich seh's einfach nur nicht.

Grüsse
:m)
renee
 2006-03-18 13:10
#63869 #63869
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
perldoc -f require
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
mättu
 2006-03-20 20:18
#63870 #63870
User since
2004-12-12
30 Artikel
BenutzerIn
[default_avatar]
Ach herrje, ja klar..
2 Tage später:
ich getrau mich fast nicht zu fragen:
wie zum T* muss ich unter use strict die Variablen definieren, dass es funktioniert?
Manchmal stellt sich die Frage: Bin ich zu blöd für Perl?!
Ronnie
 2006-03-20 20:46
#63871 #63871
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
[quote=mättu,18.03.2006, 10:33]"einstellungen.txt":
$meine_erste_variable = "hallo"
@ein_array = ("1", "5", "8")[/quote]
Code: (dl )
1
2
my $meine_erste_variable = "hallo";
my @ein_array = ("1", "5", "8");

Könnte helfen - würde aber alternativ die Verwendung von YAML empfehlen! CPAN:YAML, bzw. http://www.yaml.org/
frodus
 2006-03-20 21:26
#63872 #63872
User since
2003-09-26
147 Artikel
BenutzerIn
[default_avatar]
Hi,

ich denke das 'use strict' sich auf die Datei bezieht in der er die
Variablen benutzen möchte.
Und da müssen sie entweder mit 'our' bekannt gemacht werden
oder, was ich die elegantere Lösung finde, man muss einen
Exporter in der Kongfigurationsdatei definieren um den dann mit
use zu benutzen.

Example conf.pm:

Code: (dl )
1
2
3
4
5
6
7
8
9
package conf;
use strict;

require Exporter;

our @ISA = qw(Exporter);
our @EXPORT = qw($var);

our $var = 42;


test.pl:

Code: (dl )
1
2
3
4
5
6
7
#!/usr/bin/perl 

use strict;

use conf;

print "var = $var\n";


Gruss,

Frodus
murphy
 2006-03-20 21:54
#63873 #63873
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Statt
Code: (dl )
1
2
use Exporter;
our @ISA = qw/Exporter/;
finde ich
Code: (dl )
use base qw/Exporter/;
noch etwas eleganter.
When C++ is your hammer, every problem looks like your thumb.
frodus
 2006-03-20 21:58
#63874 #63874
User since
2003-09-26
147 Artikel
BenutzerIn
[default_avatar]
Ja da gebe ich dir recht, vielleicht sollte mal irgendwann
die 'perldoc Exporter' in dem Bereich angepasst werden :)

/Frodus
mättu
 2006-03-20 22:58
#63875 #63875
User since
2004-12-12
30 Artikel
BenutzerIn
[default_avatar]
ach bin ich froh, dass es doch nicht soo einfach geht.
Danke für eure Hilfe!
;m)
<< >> 8 Einträge, 1 Seite



View all threads created 2006-03-18 11:33.