#!/usr/local/bin/jperl # atesaki.pl by simtak # # Databaseから年賀状用宛先srcを作る。98年年賀状版 # atesaki.pl databasefile > atesaki.tex # databasefileのformatは&を区切り文字とし、一行に一データ。 # # name & 000-00 & address & o # # 4つ目のfieldは御中にするか否か。oなら御中、それ以外は様。 # 郵便番号は三桁なら000でOK # #で始まる行はコメント#で始まる行に電話番号など。 # 第一fieldが空欄でも無視。 # 今のところ特殊文字のescapeはしてないので\#%${}等には注意 # print <){ next if /^#/; next if /^\s*$/; chop; @F=split(/\s+&\s+/); next if ($F[0] eq ""); print "%% name:$F[0] num:$F[1] add:$F[2]\n"; @Num=split(//,$F[1]); if($F[3] eq o){$Sam="御中";}else{$Sam="様";} ### jperlならこれでいいと思う。perlではどうしよう###### $F[0]=~s/(.)/$1\\ /g; ####################################################### $F[2]=~s/(\w+)/\\rensuji{$1}/g; $F[2]=~s/-/\$-\$/g; print <<"END"; \\begin{picture}(100,143)(0,0) \\put(0,0){\\framebox(100,143){}} %外枠 {\\huge\\sf \\put(47,128){\\framebox(6,8){$Num[0]}} \\put(57,128){\\framebox(6,8){$Num[1]}} \\put(67,128){\\framebox(6,8){$Num[2]}} \\put(77,128){\\framebox(6,8){$Num[4]}} \\put(86,128){\\framebox(6,8){$Num[5]}} } \\put(65,22){\\framebox(30,100)[rt]{\\huge% 相手の住所 \\begin{minipage}[t]{99mm} $F[2] \\end{minipage} }} \\put(40,22){\\framebox(20,100)[rt]{\\Huge% 相手の名前 \\begin{minipage}[t]{99mm} $F[0]\\ $Sam \\end{minipage} }} \\put(6,30){\\framebox(20,60)[cd]{% 差し出し人 \\begin{minipage}[t]{50mm} 池田市□□□\\rensuji{1}\$-\$\\rensuji{2}\$-\$\\rensuji{3}\\\\ 清\\ 水\\ \\ \\ 卓 \\end{minipage} }} \\put(6,18){\\framebox(4,6.5){5}} \\put(10,18){\\framebox(4,6.5){6}} \\put(14,18){\\framebox(4,6.5){3}} \\put(19,18){\\framebox(4,6.5){0}} \\put(23,18){\\framebox(4,6.5){0}} \\put(27,18){\\framebox(4,6.5){2}} \\put(31,18){\\framebox(4,6.5){3}} \\end{picture} \\newpage END } print <