Структура gpx-трека выглядит примерно таким образом. Внутри тега <trkpt> могут быть также time, ele.

<?xml version="1.0" encoding="utf-8"?>
<gpx>
    <trk>
        <name>Track</name>
        <trkseg>
            <trkpt lat="87.89289951324463" lon="41.97881025520548"></trkpt>
            <trkpt lat="87.7565735578537" lon="41.85182988575514"></trkpt>
        </trkseg>
    </trk>
</gpx>

Приведенный ниже пример perl-кода использует библиотеку XML::LibXML. Он парсит трек в формате gpx и достает координаты точек.

use XML::LibXML;
use Data::Dumper;
 
my $xml  = XML::LibXML->new->parse_file('file.gpx');
my $root = $xml->getDocumentElement;
my @coords;

foreach my $pt ($root->getElementsByTagName('trkpt')) {
    my($lat) = $pt->findvalue('@lat');
    my($lon) = $pt->findvalue('@lon');
 
    push @coords, ($lon.','.$lat);
}

print Data::Dumper::Dumper \@coords;