今日は、普段開発に使っているperl のソースコードの事だ、
次回の備忘録として、ブログに残しておくつもりで書いておく、
ハムログADIFからQSLカード印刷用データーを編集する場合、コメント欄にリグ、JCC、移動地が入ってきます。
これの、リグ名を除くスクリプト
my $idou_tmp = &get_comment($rec); if($idou_tmp =~ /%.+%/){$idou =$&;} #%で囲まれた文字列があれば、それを抜き取る else{$idou = $idou_tmp;} $idou =~ s/%//g; $idou =~ s/8j1y\/1//ig; #8jiy/1も除く
sub get_area_num{ my ($area_call)=@_; my $psw=10; #Initial Set my $cc = uc($area_call); if($cc =~ /[7-8][J-Nj-n]\d[A-Za-z{3,}]/){$psw=1;} #1area if($cc =~ /J[A-Sa-s]\d[A-Za-z{2,}]/){$cc =~ /\d/; $psw=$&;} #¥d--->Area Number return $psw; #10:over sea 0〜9 area number }
8J1とか7Nとかは1エリア、JAからJSまではJコール、次の番号がエリア番号
その他は海外局で10を入れる、このエリア番号でソートすれば、エリア別に印刷されるって訳だ。
ADIFはUTCで入ります、ハムログでもUTCで入っています、しかし時間は6桁でなく4桁ですので、秒の2桁を追加してからUTC→JSTに変換しなければなりません。
ADIFをのソースに自動変換させ、DVIPS等でPDF化する時に、文字コードの問題があります。
私の環境はUTF8ですから、ADIFを一旦UTF8に変換してからでないと、日本語が文字化けします。
Jcodeなどで、変換しても上手くいかないこともあるので、Jeditで開いてから文字コードを変換して処理を行う。