The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

iptckeyword - List and manipulate the IPTC keyword metadata stored in an image file.

SYNOPSIS

iptckeyword [--list] args
iptckeyword --add | --set | --remove keyword[,keyword...] args
iptckeyword --match (keywords and booleans) args
iptckeyword --copy source_file args
iptckeyword --synonyms [--synfile file] args
iptckeyword --help | --man
(args can be files or directories)

DESCRIPTION

iptckeyword uses the Image::IPTCInfo module to list and/or manipulate the keyword information that can be stored in the IPTC headers of an image file. iptckeyword can add, set or remove keywords, or match a list of keywords in the list of files/directories given on the command line. It can also expand a list of keyword synonyms and assign those synonyms to files.

OPTIONS

--help
Print a brief help message and exits.
--man
Prints the manual page and exits.
--r
Allows directory recursion in the argument list. Without the -r flag,
iptckeyword will ignore any directories in the arg list.
Warning: this can be dangerous, especially adding, setting, or removing
keywords. You have been warned.
--list
Lists keywords. --list is assumed if no other options are given.
It can also be combined with other options, and will list the keywords after
any other operations (add, remove, etc) are performed.
--add
Adds given keywords to keywords already in the file(s).
--set
Sets keywords in file to exact list given on command line. Use --set '' to
clear the keywords in the file(s).
--remove
Removes given keywords from file. iptckeyword will not complain if the keyword
doesn't exist.
--copy
Copies keywords from file given as argument to --copy to any other file(s) 
specified.
--match
Matches keywords given against file(s) given. Uses Text::Query::ParseAdvanced
to parse the matchwords. This allows matches like 'horse and rider and not saddle'
or '(cougar or puma or mountain lion) and arizona'. Words separated by spaces are
considered to be part of the same phrase. Will match whole words only--however, 
one word from a multi-word phrase will match ('mount' wouldn't match the phrase
'mountain lion', but 'mountain' would). If you wish to avoid this behavior, use
underscores instead of spaces ('mountain_lion' instead of 'mountain lion').
--synonyms
Reads keywords in file(s) given on the command line, and looks in a synonyms file
for a list of synonym keywords to expand out. By default, the synonyms file is the
file .iptc_synonyms in your home directory.
The format of the synonyms file is:
keyword: other, keywords, that, the, first_keyword, expands to
A keyword can expand to another keyword that also has expansions. iptckeywords parses
them recursively, but avoids getting caught in a loop. For example:
patas: monkey, zoo
monkey: primate
primate: animal
So a file with the keyword of 'patas' will end up with patas, zoo, monkey, primate, and animal.
This is a powerful way of adding multiple keywords that iptckeyword (or other programs) can then
use to search by.
--synfile
Takes the argument of an alternative synonyms file when using the --synonyms switch.

AUTHOR

    Paul Archer (paul at paularcher dot org)

DEPENDENCIES

    Image::IPTCInfo, Getopt::Long, Pod::Usage, File::Finder, Text::Query

BUGS

    Probably.

    Text::Query::ParseAdvanced throws two warnings. You'll have to modify the subroutines that contain the offending lines by removing the prototyping info in order to get rid of the warnings.

LICENSE

    iptckeyword is released under the GNU Public License (GPL).

4 POD Errors

The following errors were encountered while parsing the POD:

Around line 392:

You forgot a '=back' before '=head1'

Around line 399:

You forgot a '=back' before '=head1'

Around line 408:

You forgot a '=back' before '=head1'

Around line 411:

=over without closing =back