问题描述
在使用 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