Image::ExifTool::Import(3)

NAME
Image::ExifTool::Import - Import CSV and JSON database files

SYNOPSIS
    use Image::ExifTool::Import qw(ReadCSV ReadJSON);

    $err = ReadCSV($csvFile, \%database);

    $err = ReadJSON($jsonfile, \%database);

DESCRIPTION
This module contains routines for importing tag information from CSV (Comma Separated Value) and JSON (JavaScript Object Notation) database files.

EXPORTS
Exports nothing by default, but ReadCSV and ReadJSON may be exported.

METHODS

  ReadCSV / ReadJSON
Read CSV or JSON file into a database hash.

Inputs:
    0) CSV file name or file reference.

    1) Hash reference for database object.

    2) Optional string used to represent an undefined (missing) tag value. (Used for deleting tags.)

    3) For ReadCSV this gives the delimiter for CSV entries, with a default of ",". For ReadJSON this is the character set for converting Unicode escape sequences in strings, with a default of "UTF8". See the ExifTool Charset option for a list of valid character sets.

Return Value:
    These functions return an error string, or undef on success and populate the database hash with entries from the CSV or JSON file. Entries are keyed based on the SourceFile column of the CSV or JSON information, and are stored as hash lookups of tag name/value for each SourceFile. The order of the keys (CSV column order or order in a JSON object) is stored as an ARRAY reference in a special "_ordered_keys_" element of this hash.

AUTHOR
Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO
Image::ExifTool(3pm)