Hallo reinhardp,
$csv->getline() liest nicht nur die Zeile ein, sondern parst sie auch gleich in ein Arrayref. Wenn Du ein Arrayref an
$csv->parse verfütterst, kommt genau diese Fehlermeldung.
Es gibt zwei Lösungsmöglichkeiten:
- Du liest die Zeile direkt vom Filehandle und verfütterst diese dann an $csv->parse.
- Du bleibst bei $csv->getline und setzt danach @field=@$row. In dem Fall musst Du das Ende-Kritierium Deiner Schleife prüfen: $csv->getline liefert "falsch" sowohl bei Parse-Fehlern als auch bei End-of-file. Mit $csv->eof kann man auf letzteres prüfen.