This project is in an early development stage and will propably not do anything useful yet. When it becomes usable, I will try to merge it into the existing Text::vCard distribution - otherwise it will be offered as a standalone module.
vCard-Compare contains code to compare two vCard::AddressBook
or
Text::vCard::Addressbook
and list the vCards contained in only the
first, only the second or both address books separately (like
List::Compare
does). The comparison strategy can be changed, by
default the full name in the vCards will be compared.
vCard-Compare also contains code to compare two single vCard
or
Text::vCard
in the same fashion.
This should enable you to build a custom merge-scheme two vCard address books.
I have a set of very old (>15y) Perl scripts to handle my personal address book based on a custom text format. I want to connect this address book to my smartphone, so I need to connect my custom scripts to a vCard file storage and that's what this project is part of.
For this purpose I also work on vCard-vDir to convert between a single-file address book and the multifile vdir style that is generated by vdirsyncer.
As I just code blindly and see where this takes me (finishing this project is by no means urgent), I might come up with other projects, most likely something like ``vcard-merge''.
To build and install the current development version of vCard-Compare,
you need to have Dist::Zilla installed. Run the dzil
command - if
it is available, Dist::Zilla should be installed.
To install or upgrade Dist::Zilla use
$ cpan -i Dist::Zilla
or
$ cpanm Dist::Zilla
Then clone this repository, enter it and start the install process:
$ git clone https://github.com/mmitch/vcard-compare.git
$ cd vcard-compare
$ dzil install
Any missing dependencies should be reported automatically and can be installed by
$ dzil authordeps --missing | cpanm
$ dzil listdeps --missing | cpanm
Afterwards, try the installation again with
$ dzil install
vCard-Compare source is hosted at https://github.com/mmitch/vcard-compare
Copyright (C) 2016 Christian Garbs mitch@cgarbs.de
Licensed under GNU GPL v2 or later.