使用 perl 模块“vCard::AddressBook”将节点 CATEGORIES 添加到 vcard

问题描述

在使用 perl 模块 vCard::AddressBook (https://metacpan.org/pod/vCard::AddressBook ).

输出应如下所示:

CATEGORIES

当我使用以下代码时:

ORG

我收到以下错误

BEGIN:VCARD
VERSION:4.0
...
N:Doe;John;;;
...
ORG:Organization_01;
CATEGORIES:Cat_01
...
END:VCARD

在我的 vcard 文件获取其他节点(如 CATEGORIES)的最佳方法是什么?

顺便说一句:RFC6350 定义了它...https://tools.ietf.org/html/rfc6350#section-6.7.1

解决方法

https://metacpan.org/pod/Text::vCard::Precisely 似乎更符合 RFC6350:

use Text::vCard::Precisely;
my $vcard = Text::vCard::Precisely->new( version => '4.0' );
$vcard->n(['John','Doe']);
$vcard->categories([qw/Cat_01 Cat_02 Cat_03/]);
print $vcard->as_string();

印刷品:

BEGIN:VCARD
VERSION:4.0
N:John;Doe;;;
CATEGORIES:Cat_01,Cat_02,Cat_03
END:VCARD