#!/usr/bin/perl use strict; use warnings; use File::Spec::Functions qw( catdir catfile ); # Arbeitsverzeichnis, wo die Programme liegen my $ordner = 'E:/Benutzer/06simulation/proc'; # Logfile das analysiert werden soll my $logfile='log.txt'; # timeout my $maxwait=120; # Sekunden maximal auf Datei warten runn('01runInitElthetaBatchScript.ahk'); # nach dem "init" ein paar Sekunden warten um sicher zu sein, # dass die Einstellungen übernommen wurden: sleep(2); runn('02runBatchScript.ahk'); # so lange warten bis die Datei existiert, # oder die Zeit abgelaufen ist. my $timeout=time()+$maxwait; until(-e $logfile) { # immer eine Sekunde warten sleep(1); # Abbruch wenn die maximale Zeit gewartet wurde. die("$logfile wurde nach $timeout Sekunden noch nicht erstellt!\n") if($timeout <= time()); } # noch kurz waren um sicher zu stellen, das die Datei vollständig geschrieben wurde. sleep(1); runn('03procInitElthetaOut.pl'); #################################################### # Funktionen sub runn { my $cmd=shift; my $prog=catfile( $ordner, $cmd); # Fuehre programm aus: system( $prog ) == 0 or die qq(Programm "$prog" brach ab: $!\n); }