use warnings; use strict; my $infile = 'exportiert.csv'; open (my $infile_fh, '<', $infile) or die "Kann $infile nicht lesen\n"; my $outfile = 'kurz.csv'; open (my $outfile_fh, '>', $outfile) or die "Kann $outfile nicht schreiben\n"; while (my $line = <$infile_fh>) { my @fields = split /;/, $line; for my $field (@fields) { if (length($field) > 30) { $field = substr($field, 0, 30); } } print $outfile_fh join(';', @fields); }