use warnings;
use 5.014; # for s///r
use File::Replace qw/replace3/;
use utf8;
my $mainkml = 'main.kml';
my $dynkml = 'dyn.kml';
open my $fh1, '>:encoding(UTF-8)', $mainkml or die "$mainkml: $!";
print $fh1 <<'END_KML1' =~ s/__FILENAME__/$dynkml/r;
Network Links00Random Placemark01112onInterval__FILENAME__
END_KML1
close $fh1;
print "Please open '$mainkml' in Google Earth\n";
my $run = 1;
$SIG{INT} = sub { $run=0 };
my ($lat,$lon) = (52.514509,13.350103);
while ($run) {
my (undef,$outfh,$repl) = replace3($dynkml, ':encoding(UTF-8)');
print $outfh <<'END_KML2' =~ s/__LONLAT__/sprintf('%.6f,%.6f',$lon,$lat)/er;
Random PlacemarkHello, World!__LONLAT__
END_KML2
$repl->finish;
sleep 1;
$lat += (rand(2)-1)/1000;
$lon += (rand(2)-1)/1000;
}