#!/usr/local/bin/perl -w # use strict; use warnings; use Tie::File; use File::Basename; my $inpdir="/opt/compuset1/rmiserver/BaslerAPI/CompusetService/error/"; opendir(LOG, $inpdir) or die "Verz. kann nicht geoeffnet werden: $!\n"; my @logfiles = grep{/\.log$/}readdir(LOG); closedir(LOG); for my $file(@logfiles){ if(!check_log_file($inpdir,$file)){ delete_files($inpdir,$file); } } sub check_log_file{ my ($dir,$name) = @_; tie @lines,'Tie::File',$dir.'/'.$name or die $!; for my $line(@lines){ if($line =~ /kein (?:PDF|TIFF)/){ print "Fehler gefunden\n"; return; } } untie @lines; return 1; } sub delete_files{ my ($dir,$name) = @_; my ($basename) = basename($name); unlink $basename.'.'.$_ for(qw(log inx pdf)); }