#!/usr/bin/perl use Data::Dumper; $inBiking = 0; $inLap = 0; $inTrack = 0; $inTrackpoint = 0; while (<>) { chomp(); if ($inBiking) { if ($inLap) { if (/<\/Lap>/) { $inLap = 0; $lapName = "unknown"; print(FD "\n"); close FD; next; } if ($inTrack) { if ($inTrackpoint) { if (/<\/Trackpoint>/) { $inTrackpoint = 0; printf(FD " ", $lat, $lon); printf(FD "%f ", $alt); printf(FD "\n"); next; } if (/(.*)<\/LatitudeDegrees>/) { $lat = $1; next; } if (/(.*)<\/LongitudeDegrees>/) { $lon = $1; next; } if (/(.*)<\/AltitudeMeters>/) { $alt = $1; next; } } else { if (/<\/Track/) { $inTrack = 0; next; } if (//) { $inTrackpoint = 1; $lat = 0; $lon = 0; $alt = 0; next; } } } else { if (/ export-GPX-$lapName.gpx" or die "create export-GPX-$lapName"; print FD < EOF ; print FD "history for $lapName\n"; print FD "\n"; next; } } } else { if (/