use File::Find::Rule; my $start = '20110106'; my $dir = '/path/to/dir/with/log/files/'; my @files = File::Find::Rule->file->name( 'meinDat_*.log' )->in( $dir ); my @wanted; for my $file ( @files ) { my ($date) = $file =~ /meinDat_(\d{4}\.\d\d\.\d\d)\.log/; $date =~ s/\.//g; next if $date < $start; push @wanted, $file; } use Data::Dumper; print Dumper \@wanted;