#!/usr/bin/perl use warnings; use strict; my @data; my $columns   = 5; open(FH,") {    chomp $line;             #entfernt \n  my @array = (split(/[\t\s\\]/,$line))[0..($columns-1)]; # splitet nach taps, leerzeichen und backslash  foreach (@array) {      s/^\s+/;/g; # fuehrende und      s/\s+$/;/g; # abschliessende Blanks (beides entfernen und durch ";" ersetzen)  } # foreach  push(@data,[@array]); } # while close (FH); my $format = ''; for my $i(0..scalar(@{$data[0]})-1) {                 #hier wird das format festgelegtund linksbuendig  my $max = find_longest(map{$_->[$i]}@data);  $format .= '%-'.$max.'s '; } for my $entry(@data) {  print sprintf($format . "<<\n",@$entry); } sub find_longest {     # hier wird der laengste inhalt des feldes berechnet  my $longest = 0;  for(@_){      my $length = length($_);      $longest = $length if($length > $longest);  }  return $longest; } open(FH, "ZIEL.txt") or die "Fehler beim oeffnen/anlegen: $!"; while() { print OUTDATEN @data; } close (OUTDATEN)or die $!; close (FH)or die $!;