sub DateiCheck {    my $DateiCheck = 0;        # Hier wird das verzeichnis geöffnet und geprüft ob gesuchte Datei im Verzeichnis liegt.        my $DateiName1 = $DateiName;      my $temp = $DateiName;      my $verzeichnis = $SqlSrvJobs;      #print      if (existsFileInDirectory($DateiName1, $verzeichnis))        {                 print LogDatei '#' x 120, "\n";         print LogDatei '#' x 120, "\n";           print LogDatei "Die Datei: $DateiName1 wurde im Verzeichnis: $verzeichnis gefunden!\n";                     # Hier wird die Datei auf aktuelles Datum geprüft. Ergebnis wird dann ausgegeben.             print LogDatei ("INFO : ","Der Zeitstempel der Datei wird geprüft!\n");               my $dir = $SqlSrvJobs;             opendir(DIR,$dir) or die $!; # Verzeichnis "öffnen"               my @verzeichnisse = grep{-f $dir .'/'.$_}readdir(DIR);                 for my $file(@verzeichnisse)               {                       my $file = $SqlSrvJobs2;                                if(existsGlobalCheck($file,24))                             {                         # Wenn Datei im Verzeichnis vorhanden, dann prüfen ob Suchstring in der Datei enthalten ist.                          print LogDatei "Die Datei: " . $file . "  wurde im Verzeichnis gefunden und hat ein aktuelles Datum!\n";                        print LogDatei '+' x 120, "\n";                     print LogDatei  "Die Datei: " . $file . " wird gelesen und geprüft!\n";                     my $file = $SqlSrvJobs2;                      my $check = ' R E S T O R E   D A T A B A S E   s u c c e s s f u l l y   p r o c e s s e d';                      open (IN, $file) || die "File kann nicht geoeffnet werden !\n";                     open my $fh,'<',$file or die $!;                     while( my $line = <$fh> )  <<<<------- Hier an der Stelle liegt das Problem irgendwo begraben                       {                           if( $line =~ m/\Q$check\E/i)                           {                             $DateiCheck = 1;                             last;                           }                                         }                          if ($DateiCheck == 1)                           {                             print LogDatei "Der Suchstring in der Datei wurde gefunden!! \n";                             print LogDatei '+' x 120, "\n";                           }                         else                           {                             print LogDatei "Der Suchstring in der Datei wurde nicht gefunden!! \n";                           }                         }                     else                             {                                           print LogDatei "Es besteht in dem Verzeichnis keine aktuelle Datei!\n";                                         $DateiCheck = 0;                       }                  }                      }      else       {         $DateiCheck = 0;         print LogDatei "Die Datei: $DateiName1 wurde im Verzeichnis: $verzeichnis nicht gefunden!\n";        }            ## Hier wird nach Durchlauf der Kontrolle ein Statment abgegeben wenn keine aktuellen Dateien vorhanden sind!          unless($DateiCheck)            {              print LogDatei "Prüfung abgebrochen, da eine der Prüfungen nicht OK war!! Bitte prüfen!!!\n";            }              return $DateiCheck  # Hier wird der ermittelte Rückgabewert aus der Subroutine übergeben!                                                       } # End of: sub DATEI CHECK