#!/usr/bin/perl
# Copyright       : http://www.fsf.org/copyleft/gpl.html
# Author 作者     : 積丹尼 Dan Jacobson -- http://jidanni.org/
# Created On      : Thu Jun  8 15:29:35 2017
# Last Modified On: Thu Jun  8 15:43:24 2017
# Update Count    : 6
# 將某 TXT 轉 CSV
use strict;
use warnings FATAL => q(all);
my $header_seen;
while (<>) {
    s/ (號)/$1/;
    s/,/，/g;
    my @F = split;
    next unless $#F > 2;
    die  unless $#F == 6;
    if ( $F[4] eq '東經度' ) {
        next if $header_seen;
        $header_seen++;
        print join ",", @F;
        print "\n";
        next;
    }
    print join ",", @F[ 0 .. 3 ], ll( $F[4] ), ll( $F[5] ), $F[6];
    print "\n";
}

sub ll {
    for (@_) {
        /^(\d+)度(\d+)分([0-9.]+)秒$/ || die;
        return sprintf "%.6f", ( $3 / 60 + $2 ) / 60 + $1;
    }
}
