Maximal 10
Rudi
- perl
Hi an alle. Ich bin noch im Anfangsstadium und ich möchte hinkriegen das auch mit der "größe der Datei" max. 10 ausgegeben werden. Helft mir dummerchen mal bitte!
#!/usr/bin/perl -w
use File::Find;
foreach $arg (@ARGV) { # Alle angegebenen Verzeichnise durchlaufen
File::Find::find(&fc, $arg); # und %Filesbydate aufbauen
}
$maxcount = {0,10}; # Maximal 10 Dateien ausgeben
# Auswertung : Nach letztem Datum sortieren
hash:foreach $date (sort { $b <=> $a } keys %Filesbydate)
{
# Listen von Einträgen gleichen Datums
$timestr = localtime($date);
foreach $file (@{$Filesbydate{$date}})
{
# Ausgabe mit Datum
print "$file(", $timestr, ")\n";
last hash unless $maxcount--;
}
}
sub fc {
return unless -f; # keine Directories
my $filedate = (stat($_))[9];
my $filesize = (stat($_))[7];
print "$_ $filesize\n";
# Datum noch nicht belegt:
# Neue Listenreferenz
$Filesbydate{$filedate} = [] unless
exists $Filesbydate{$filedate};
# Eintrag in Liste aufnehmen
push(@{$Filesbydate{$filedate}}, "$File::Find::dir/$_");
}
Hi,
$maxcount = {0,10}; # Maximal 10 Dateien ausgeben
huch - was soll das werden?
$maxcount enthält nun eine Referenz auf einen hash,
der einen Abbildung von 0 nach 10 enthält!
Das willst Du doch nicht wirklich, denn ...
last hash unless $maxcount--;
spätestens hier bist Du der Meinung, in $maxcount eine Zahl
abgelegt zu haben.
Viele Grüße
Michael