#!/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; } }