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