Thread CSV-Import mit Text::CSV (16 answers)
Opened by jan99 at 2015-08-31 13:13

Linuxer
 2015-08-31 16:59
#181966 #181966
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
2015-08-31T13:21:13 jan99

Code (perl): (dl )
1
2
3
foreach $_ (@data){
  print $_{"LISP"}."\n";
}



Was willst Du denn da tun?
Erstmal ist es seltsam, warum Du $_ explizit angibst, das ist die Standard-Laufvariable. Da Du sie nicht lokalisierst, ist das benennen überflüssig. Ich würde eine eigene benannten Laufvariable nutzen.

Was steckt denn in @data?
Du iterierst über einen Array (@data) und verwendest dann die Laufvariable $_ wie einen Hash. Warum?
Maximal sollten es Hash-Referenzen sein, die in @data liegen und die musst Du dereferenzieren; siehe Raubtiers Antwort dazu.

Innerhalb der Schleife rufst Du aber den Wert ab, der im Hash %_ unter dem Schlüssel "LISP" abgelegt sein soll. Der ist wohl nicht definiert... Das hat nichts mit Deiner Laufvariable $_ zu tun!

Du solltest Dich wohl nochmal dringend mit Perls Referenzen, Datentypen und -strukturen auseinandersetzen:

Lesenswert:
Perldoc:perldata
Perldoc:perlreftut
Perldoc:perlref
Perldoc:perldsc
Perldoc:perllol
Last edited: 2015-08-31 17:01:14 +0200 (CEST)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread CSV-Import mit Text::CSV