#!/opt/perl5.8.6/bin/perl -w use Time::Local; my $dir = "/pfad/"; my $oldname = 0; my %dif_hash; opendir(DIR, "$dir"); my @files = readdir(DIR); closedir(DIR); print "Inhalt von $dir:\n"; foreach (@files) { #auszulesendedatei.20070117.001124.log m/(.*)\.(\d{4})(\d{2})(\d{2})\.(\d{2})(\d{2})(\d{2})\.log/; if ( $1 ne $oldname ) { %div_hash = ($1 => {begin => { name => $1, year => $2, month => $3, day => $4, hour => $5, minute => $6, second => $7, } } ); } else { %div_hash = ($1 => {end => { name => $1, year => $2, month => $3, day => $4, hour => $5, minute => $6, second => $7, } } ); } $oldname = $1; } foreach ($div_hash) { print "$_ \n"; }