#!/usr/bin/perl use strict; use warnings; open my $outFH, ">", "umformatieren.txt" or die $!; while () { chomp; if (m/\|/) { my @in = split /\|/; my @out; ($out[0] = $in[0]) =~ s/^\w(\d+)/[1.$1]/; $out[1] = $in[3]; # oder statt $in[3] halt die neue Zeichenfolge ($out[2] = $in[4]) =~ s/(\d{4})(\d{2})(\d{2})/$3.$2.$1/; # oder statt $in[4] das neue Datum print $outFH join "|", @out; print $outFH "\n"; } elsif ($_) { print $outFH $_, "\n"; } } close $outFH or die $!; __DATA__ A01|10279011|AC|legmab0|20080904|PGT neues Programm A02|10279011|AD|legroj0|20081126|PGT Programmänderung