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