J'ai un script Perl qui lit dans un fichier CSV, change les noms des colonnes de l'original, en ajoute de nouveaux (les noms des colonnes CSV sont stockés dans le tableau, header_line), ajoute de nouvelles valeurs de champs pour chaque ligne lue, puis écrit un nouveau fichier CSV.Perl: Avec le texte :: CSV puis-je écrire une référence de hachage?
Merci à un commentaire par @harleypig sur mon dernier question, je voudrais utiliser:
$csv_i->column_names(@header_line);
$row = $csv_i->getline_hr($fh_i)
parce que cela me permet de champs de ligne facilement accès à l'aide des noms significatifs plutôt que des chiffres magiques. Par exemple:
$row->{ 'name' } = get_fullname($row->{ 'name' });
Le seul problème est maintenant, quelle est la meilleure façon d'écrire la ligne? Auparavant, j'ai utilisé:
$csv_o->print($fh_o, $row);
Mais cela échoue car il attend un tableau ref. Comment puis-je écrire le hash ref en utilisant l'objet csv_o?
J'oublie toujours les tranches de hachage pour une raison quelconque ... – plusplus
Fonctionne très bien. Merci beaucoup. – FunLovinCoder