|
|
 |

|

 |

| Community » Perl: Allgemeines Forum |
|
Variable Referenz
|
Seitenanfang |
| hey, ich bin nicht wirklich vertraut mit Perl und habe folgendes Problem: ich habe eine eindeutige id, die in der variablen
$stat_id;
gespeichert ist. Aus einer Datei, in der weitere Informationen vorliegen, möchte ich nun auf einzelne Elemente zugreifen. Die entsprechende Zeile kann ich über die ID eindeutig refernzieren. Der Weg, den ich eingeschlagen habe, ist es, eine Schleife zu konstruieren, die jede Zeile splitet
for ($i=0;$i<@datei;$i++){ @info[$i]=split(' ',$datei[$i]); $pointer=\@info[$i]; if ($pointer->[0]=$stat_id){ print "..." } }
So funktioniert es nicht, die Idee fand ich allerdings recht gut; denn ich hätte einfach über pointer->[1..5] auf alle anderen Elemente in der Zeile zugreifen können, die ich benötige. Da ich ungefähr 5000 Werte für stat_id hab, und je nach Anfrage auf die Infos au der Datei zugreifen muss, muss der code möglichst variabel sein. Jemand eine Idee, oder sieht wo der Fehler liegt. Geht es über eine Refenenz ÜBERHAUPT? Besten Dank, LarsVegas
Datum: 20.09.2005-20:06

|
re: Variable Referenz
|
Seitenanfang |
| Ersma heisst das Ding $info[$i] und nicht @info[$i]. Wenn ich nach dem $pointer->[0] gehe, willst Du also die Ergebnisliste des split(s) als Array-Referenz in $info[$i] speichern, richtig? split liefert aber keine Referenz (auf eine Array oder eine Liste) zurueck sondern eine Liste. Also musst Du diese in eine Array-Referenz umwandeln: $info[$i]= [ split(' ',$datei[$i]) ];Und verglichen wird mit if ($pointer->[0] == $stat_id){
Datum: 20.09.2005-21:24

|
re: Variable Referenz
|
Seitenanfang |
| Hi, sorry, dass ich mich erst jetzt melde, um dir zu danken. Deine Hinweise waren eine große Hilfe. Funktioniert nun alles wie gewünscht. Gruß, LarsVegas
Datum: 24.09.2005-16:41

|
|

|

|

|
 |

|

|
|