Schrift
[thread]6086[/thread]

IN Array schreiben: CFG einlesen und in ein array schreiben



<< |< 1 2 >| >> 11 Einträge, 2 Seiten
Rambo
 2004-02-20 15:04
#80248 #80248
User since
2003-08-14
803 Artikel
BenutzerIn

user image
hallo,
ich möchte aus einer configuration eine bestimmte
section einlesen und die werte in ein array schreiben
was ich später weiter nutzen möchte.
habe bei cpan das modul config::tiny gefunden
weis aber nicht wie ich den inhalt in das array bekomme
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
use Config::Tiny;
# Open the config
$Config = Config::Tiny->read( 'test.cfg' );

# Reading properties
my $rootproperty = $Config->{_}->{rootproperty};
my $one = $Config->{section}->{one};
my $Foo = $Config->{section}->{Foo};

# Save a config
$Config->write( 'test.cfg' );

statt in eine datei würde ich geren in eine array
schreiben.
geht das?

danke
rambo
esskar
 2004-02-20 15:12
#80249 #80249
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
$Config ist zwar kein array, jedoch ein hash...
das du auch durchlaufen kannst...

wieso array... wie willst du die daten den verwerten?
Rambo
 2004-02-20 15:15
#80250 #80250
User since
2003-08-14
803 Artikel
BenutzerIn

user image
ja möcht es es weiter verwerten!

erst die bestimmten parameter auslesen
die gesamelten parameter dann an eine weitere
instanz übergeben.

merci
rambo
esskar
 2004-02-20 15:19
#80251 #80251
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
geht doch auch mit dem hash, oder?
ansonsten push einfach jeden wert in ein array!
Rambo
 2004-02-20 15:29
#80252 #80252
User since
2003-08-14
803 Artikel
BenutzerIn

user image
wenn ich wüste wie das geht :-)

wenn ich ein print auf das $Config mache bekomme
ich nur ein HASH(0x15d5510)
damit kann ich aber nichts anfangen.
irgendwie versteh ich das noch nicht

rambo
Ishka
 2004-02-20 15:32
#80253 #80253
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
dann ist $Config wohl ne Refferenz auf einen Hash.
%$Config ist dann der Hash
keys %$Config die Schlüssel
values %$Config die Werte
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
Crian
 2004-02-20 15:52
#80254 #80254
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
In so einem Fall hilft sonst auch immer

Code: (dl )
1
2
use Data::Dumper;
print Dumper $Config;


Aber in diesem Fall wird es so sein, wie Ishka sagt.

Ansonsten: Auf oo-Objekte sollte man eigentlich immer nur über die definierte öffentliche Schnittstelle zugreifen. Ich kenne dieses Modulk nicht, aber meine oo-Mudule erzeuge ich so, dass man von außen nichts von der internen Darstellung wissen muss und auch nicht auf den (meistens) Hash direkt zugreifen muss.

Dafür gibt es dann getter/setter für alle Attribute, auch für ev. vorhandene (anonyme) Arrays und Hashes (für deren Einzelelemente es dann ggf. wieder Methoden für den logischen (= nicht-technischen) Zugriff gibt).
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
esskar
 2004-02-20 16:10
#80255 #80255
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Config::Tiny schein wirklich nur einen hash zu liefern...
Ishka
 2004-02-20 16:30
#80256 #80256
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Objekte schauen anders aus. Da steht beim printen immer noch der Namensraum davor
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
esskar
 2004-02-20 16:36
#80257 #80257
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=Ishka,20.02.2004, 15:30]Objekte schauen anders aus. Da steht beim printen immer noch der Namensraum davor[/quote]
schon...
aber das
Code: (dl )
$Config->write( 'test.cfg' );
ist dann schon witzig!
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2004-02-20 15:04.