#!/usr/bin/perl
use warnings;
use strict;
open(my $fhListe, "<Liste.txt") or die $!;
my %pnr;
while(my $zeile = <$fhListe>) {
   chomp $zeile;
   my @felder = ();
   @felder    = split(/ /, $zeile); # teilt deine Liste nach Blank und speichert es in @felder
   $pnr{$felder[0]} = $felder[1]; # merkt sich die Daten aus deiner Liste...
} # while
close($fhListe) or die $!;
##############################
open(my $fhDatei,    "<Datei.txt")    or die $!;
open(my $fhErgebnis, ">Ergebnis.txt") or die $!;
while(my $zeile = <$fhDatei>) {
   chomp $zeile;
   my @satz = ();
   @satz    = split(/ /, $zeile); # teilt deine Datei nach Blank und speichert es in @satz
   my $ergListe = "!LEER!"; # setzt die Nummer fuer den Ort erstmal auf !LEER!
   $ergListe    = $pnr{$satz[0]} if defined $pnr{$satz[0]}; # wenn Ort gefunden, wird die Nr gesetzt
   # Ausgabe:Nummer deiner Liste-Zahl 3stellig mit 0 davor    - Zahl 5stellig mit 0 davor   /fixer Wert
   print $fhErgebnis $ergListe."-".sprintf("%03d", $satz[2])."-".sprintf("%05d", $satz[4])."/000.00\n";
} # while
close($fhDatei)    or die $!;
close($fhErgebnis) or die $!;
print "Fertig.\n";
1;