$in_filename = 'A.DAT';
if ( open my $in_fh, '<', $in_filename ) { # Datei zum Lesen öffnen
if ( open my $out_fh, '>', "$in_filename.out" ) { # Ausgabe-Datei zum Schreiben öffnen
while (my $line = <$in_fh> ) { # eine Zeile einlesen
$line =~ s/\x0A$//; # \n (LF, hex 0A) entfernen
my @felder = split '\|',$line; # |-getrennte Felder aufspalten
if ($felder[3] =~ /(\S+)\s/) { # mit Regex alles bis zum Leerzeichen bei Feld 4 einfangen
$felder[12] = $1; # gefangenes Feld 13 zuweisen
$felder[10] = 200088; # Feld 11 Wert setzen
}
$line = join '|',@felder; # Zeile wieder zusammenbauen
print $out_fh $line, "\x0D"; # geänderte Zeichenkette speichern
}
}
else {
die "Kann Datei '$in_filename.out' nicht öffnen/schreiben!";
}
}
else {
die "Kann Datei '$in_filename' nicht öffnen!";
}