Leser: 25
1 2 3 4 5
if ($filename =~ /^meinDat_(\d\d\d\d)\.(\d\d)\.(\d\d)\.log$/) { # jahr = $0 # monat = $1 # tag = $2 }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
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;
2011-01-09T17:43:24 la_dy82Achso! Naja jetzt weiß ich , dass im Hash Dinge geordnet werden.
my @files = sort {$a cmp $b} File::Find::Rule->file->name( 'meinDat_*.log' )->in( $dir );
my @files = File::Find::Rule->file->name( 'meinDat_*.log' )->in( $dir );
2011-01-11T10:38:30 la_dy82Ich wollte nur mitteilen, dass der Inhalt sortiert ist und nicht extra sortiert werden muss.
2011-01-09T17:59:29 la_dy82Eigentlich dachte ich mir, dass ich die Logfiles seit dem Datum ermittle und in der Reihenfolge abspeichere.
Kann ich das irgendwo nachlesen, wo ich dies mit der "Einlesereihenfolge vorgeben" beschrieben steht (so dass es auch ein Neuling versteht)? Oder wie kann man das am Beispiel implementieren?
Wäre schon gut, wenn an erster Stelle die Logdatei steht, wie auch das Datum seigt:
meinDat_2011.01.07.log
meinDat_2011.01.08.log
meinDat_2011.01.09.log