use Getopt::Long; # Parameteruebergabe # Uebergabeparameter einlesen GetOptions ('i=s' , \$infile1); open (FILE1,"<$infile1")||die "\n Datei $infile1 konnte nicht geoeffnet werden\n"; print $infile1; i=0; while(){ if($_ =~ m/.datafield$/i){ my '$datei i' = m/^c:\\/i && m/.datafield$/i; #open(FILE2,"<$pfad")||die "\n Datei $infile1 konnte nicht geoeffnet werden\n"; my @dateien =($datei i); i++; } } open( my @Datafield_List = ; foreach(@Datafield_List){ if } # foreach $zeile (@Datafield_List_Inhalt){ while (){ if($_ =~ m/){ if($_ =~ m/nameAsap2/i && m/(\w{32})/){ my $File = $infile1; my $zeile = $_; print "\n !!! FEHLER !!! \n"; print "In der Datei '$File' besitzt folgender Strukturmember eine groessere Zeichenkette als 32 Zeichen: '$&–'\n Der Bezeichnername ist in der folgenden Zeile als nameASAP2 bezeichnet: '$zeile'"; #system("command", 8) und '$1' für den ersten Treffer } elsif($_ =~ m/name/i && m/(\w{32})/){ my $File = $infile1; my $zeile = $_; print "\n !!! FEHLER !!! \n"; print "In der Datei '$File' besitzt folgender Strukturmember eine groessere Zeichenkette als 32 Zeichen: '$1'"; #system("command", 8) nur zum abbruch, bräuchte ich eine besser Lösung } until($_ =~ m/>/) if($_ =~ next; } } } print "\nAlle Strukturmember besitzten eine Zeichenkette von weniger als 32 Zeichen.\n"; close $FILE1; #exit (1);