vcf_generator.pl

本文介绍了一个使用Perl编写的简单脚本,该脚本能够从特定格式的输入文件中读取联系人信息,并将其转换为VCF格式,便于导入到各种设备或通讯录应用中。
use URI::Escape;
use Encode;
sub qp_encode{
my ($str) = @_;
$strU= encode('utf8',decode('gbk',$str));
$strUri = uri_escape($strU);
$strUri =~ s/%/=/g;
return $strUri;
}
$usage = '
Usage:
perl vcf_generator.pl your_txl
P.S. your_txl format should be like below:
Name Mobile Tel ORG Category
For Example:
XCY 180****4365 - 网运部 临沂电信
';
if($#ARGV < 0){
print $usage;
exit;
}
open RH,$ARGV[0];
@lns = <RH>; chomp @lns;
close RH;
for($i = 0; $i < @lns; $i ++){
@t = split(/\t/,$lns[$i]);
$fname = &qp_encode(substr($t[0],0,3));
$lname = &qp_encode(substr($t[0],2));
$name = &qp_encode($t[0]);
$mobile = $t[1];
$tel = $t[2];
if($tel !~ /-/){ $tel = "0539$tel";}
$org = &qp_encode($t[3]);
$category = &qp_encode($t[4]);
$tpl = "BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:$fname;$lname;;;
FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:$name
TEL;CELL;PREF:$mobile
TEL;WORK:$tel
ORG;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:$org
CATEGORIES;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:$category
END:VCARD";
print $tpl . "\n";
}

 

转载于:https://my.oschina.net/xiechaoyong/blog/616362

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值