#!/usr/bin/perl while(<>) { chomp; @a = splitcsv($_); printf("BEGIN:VCARD\r\n"); printf("VERSION:2.1\r\n"); printf("N:".@a[1]."\r\n"); @a[3] =~ s/[a-zA-Z0-9\s.,?!]//g; # ヨミガナから英数字、特殊文字とスペースの削除(不要かも) printf("SOUND;X-IRMC-N:".@a[3]."\r\n"); if (! @a[5] eq "") { (@a[5] =~ /^090|^080/) ? printf("TEL;CELL;VOICE:".@a[5]."\r\n") :printf("TEL;WORK;VOICE:".@a[5]."\r\n"); } if (! @a[6] eq "") { (@a[6] =~ /^090|^080/) ? printf("TEL;CELL;VOICE:".@a[6]."\r\n") :printf("TEL;WORK;VOICE:".@a[6]."\r\n"); } if (! @a[7] eq "") { (@a[7] =~ /^090|^080/) ? printf("TEL;CELL;VOICE:".@a[7]."\r\n") :printf("TEL;WORK;VOICE:".@a[7]."\r\n"); } if (! @a[10] eq "") { printf("EMAIL;INTERNET;"); (@a[10] =~ /docomo|ezweb/) ? printf("CELL:".@a[10]."\r\n") :printf("WORK:".@a[10]."\r\n"); } if (! @a[11] eq "") { printf("EMAIL;INTERNET;"); (@a[11] =~ /docomo|ezweb/) ? printf("CELL:".@a[11]."\r\n") :printf("WORK:".@a[11]."\r\n"); } if (! @a[15] eq "") { printf("NOTE:".@a[15].@a[16]."\r\n"); } printf("END:VCARD\r\n"); } sub splitcsv { local($csvstr) = @_; $csvstr .= ','; $csvstr =~ s/("([^"]|"")*"|[^,]*),/$1$;/g; $csvstr =~ s/"([^$;]*)"$;/$1$;/g; $csvstr =~ s/""/"/g; return split(/$;/, $csvstr); }