W43K→からIS02への移行をした
1.W43KにマイクロSDを挿して電話帳を保存
2.スマートフォンアドレス帳移行ツールでIMPORTすればOK
ちなみにW43Kのアドレス帳はvcf形式になっていた
csvに変換してから適当に編集してからIS02にIMPORTした
vcf→csv
#!/usr/bin/perl
use feature qw(say);
use warnings;
use strict;
our %date;
our @order;
while (<DATA>){
 chomp;
 $date{$_}=1;
 push (@order,$_);
 print "$_,";
}
print "\n";
my $infile=shift || "20100801.vcf";
open (FH,$infile) or die $!;
my %hash;
while (<FH>){
 chomp;
 my ($key,$value) = split (/:/);
 &check($key);
 unless (defined $hash{$key}){
  $hash{$key}=$value;
 }
 elsif ($key eq "EMAIL") {
  $hash{"EMAIL2"}=$value;
 }
 else {
  die "Error!";
 }
 if ($key eq "END"){
  for (@order){
   $hash{$_} ||="";
   print "$hash{$_},";
  }
  print "\n";
  %hash=();
 }
}
close FH;
sub check {
 unless ($date{$_[0]}){
  die "Data Error -> $_[0]";
 }
}
__END__
BEGIN
VERSION
N
FN
SORT-STRING
TEL;TYPE=WORK
TEL;TYPE=CELL
TEL;TYPE=PCS
TEL;TYPE=HOME
TEL;TYPE=FAX
EMAIL
EMAIL2
BDAY
X-GN
END
csv→vcf
#!/usr/bin/perl
use feature qw(say);
use warnings;
use strict;
our @order;
while (){
 chomp;
 push (@order,$_);
}
my $infile = shift || "adress.csv";
open (FH,$infile) or die $!;
$_=;
while (){
 chomp;
 my @list=split (/,/);
 s/^\"(.*)\"$/$1/ for @list;
 my $i=0;
 for (@order){
  print "$_:".$list[$i]."\n" if (defined $list[$i] and $list[$i] ne "");
  $i++;
 }
}
close FH;
__END__
BEGIN
VERSION
N
FN
SORT-STRING
TEL;TYPE=WORK
TEL;TYPE=CELL
TEL;TYPE=PCS
TEL;TYPE=HOME
TEL;TYPE=FAX
EMAIL
EMAIL
BDAY
X-GN
END