#!/usr/bin/perl -w
#
# GPSy形式のトラックログ内容リスト
# Nowral
# 01/5/4
#
use Time::Local;
# ファイルループ
foreach $oldargv (sort @ARGV) {
open(IN, $oldargv) || die;
$oldargv =~ /(.+:)(.+)/;
print "\n[$2]\n";
$trn = "";
while(<IN>) {
@ed = split("\t");
next unless $ed[0] eq "T";
$ed[4] =~ /(\d+)\/(\d+)\/(\d+)\s+(\d+):(\d+):(\d+)/ || die;
$t1 = timelocal($6, $5, $4, $2, $1-1, $3-1900);
if($ed[1] ne $trn) {
print &one_trk($trn, $ti, $tf, $n) if $n;
$n = 0;
$ti = $t1;
$trn = $ed[1];
}
$tf = $t1;
$n++;
}
print &one_trk($trn, $ti, $tf, $n) if $n;
print "\n";
}
close(IN);
#MacPerl::Quit(2);
die "The Unhappy End";
sub one_trk { #
my($trn, $ti, $tf, $n) = @_;
my($buff) = sprintf("%3d) ", $trn);
my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($ti);
$buff .= sprintf("%2d/%2d %2d:%02d - ", $mon+1, $mday, $hour, $min);
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($tf);
$buff .= sprintf("%2d/%2d ", $mon+1, $mday)
unless int($ti/86400)==int($tf/86400);
$buff .= sprintf("%2d:%02d : %4d\n", $hour, $min, $n);
return $buff;
}