Schrift
[thread]6280[/thread]

textdatei in Referenz lesen?: oder in ein has oder so ä.



<< >> 6 Einträge, 1 Seite
mordur
 2004-05-20 14:17
#82620 #82620
User since
2003-09-25
182 Artikel
BenutzerIn
[Homepage] [default_avatar]
moins,

ich habe eine Textdatei: sieht etwa so aus:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
$VAR3 = {        
'fax' => undef,        
'name' => 'name1',        
'rem' => 'info',        
'id' => '4132',      
'vname' => 'abc',      
'strasse' => 'strasse 2 ',        
'tel' => undef,        
'plz' => '01235',        
'mail' => '',        
'ort' => 'ort'
};
$VAR3 = {        
'fax' => undef,        
'name' => 'name2',        
'rem' => 'info',        
'id' => '41',        
'vname' => 'abc',        
'strasse' => 'strasse 1 ',        
'tel' => undef,        
'plz' => '01234',        
'mail' => '',        
'ort' => 'ort'
};

Das ist der Output eines Programms der normalerweise in der Referenz $kunde gespeichert wird. Hier ist er jedoch in einer Textdatei gespeichert worden.
Über :
Code: (dl )
1
2
 
foreach(@{$kunde}) {                my ($id,$name,$strasse,$ort,$plz,$vorname) = @{$_};}

komme ich an die Werte, wenn ich das Programm aufrufe. Um das lokal zu testen hab ich aber nicht das Programm sondern nur obige Textdatei. Wie kann ich die Textdatei so in $kunde speichern, das ich $kunde auch wie oben mit foreach auslesen kann??
betterworld
 2004-05-20 14:24
#82621 #82621
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
Ich wuerde den Inhalt der Textdatei zunaechst mit regulaeren Ausdruecken in seine zwei logischen Teile zerteilen, dann jeden Teil evalen und danach jeweils den Inhalt von $VAR3 in @$kunde reinpushen.
pktm
 2004-05-20 14:35
#82622 #82622
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Ich mache das mit flags.
my $flag = 0; # 0 = ncoh niochts gefunden, 1 = Datensatz gefunden

Mit foreach-Schleife und einigen If's kann man das dann ganz gut in einer Hash-Struktur ablegen.
Werde mal sehen, ob ich meinen Code damit wieder finde.
mfg pktm
http://www.intergastro-service.de (mein erstes CMS :) )
coax
 2004-05-20 18:19
#82623 #82623
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
@mordur,
also wenn der Inhalt der Textdatei das Ergebnis von Data::Dumper ist dann kannst du simpel mit eval den Code (Inhalt der Textdatei) evaluieren und dir stehen dann die Daten als Variablen (Referenzen auf Hash) zur Verfuegung.
Der Rest sollte dann kein Problem mehr sein.

Grusz Christian.
,,Das perlt aber heute wieder...'' -- Dittsche
kabel
 2004-05-20 18:22
#82624 #82624
User since
2003-08-04
704 Artikel
BenutzerIn
[default_avatar]
@coax: guck noch mal ganz genau hin ;)
soo einfach gehts dann auch wieder net.

Data::Dumper erlaubt es AFAIK, die namen der referenzen zu setzen. wenn du also zugriff auf die quellen des skriptes hast, die diese textdatei erzeugen, gehts eleganter.
so ist es unschön.
-- stefan
coax
 2004-05-20 18:25
#82625 #82625
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
[quote=kabel,20.05.2004, 16:22]@coax: guck noch mal ganz genau hin ;)
soo einfach gehts dann auch wieder net.[/quote]
ich kann mir denken was du meinst (die gleichnamigen Variablennamen) deshalb hab ich auch geschrieben "also wenn.." ;) Data::Dumper erzeugt ja normalerweise fortlaufend nummerierte, wenn nicht anders angegeben.\n\n

<!--EDIT|coax|1085063167-->
,,Das perlt aber heute wieder...'' -- Dittsche
<< >> 6 Einträge, 1 Seite



View all threads created 2004-05-20 14:17.